0efd04a60344d95f5940a4ac426c2a8346c70e8f
[WebKit-https.git] / WebCore / ChangeLog
1 2010-09-03  Zaheer Ahmad <zaheer.mot@gmail.com>
2
3         Reviewed by Darin Adler.
4
5         [GTK] compilation issue with JSTimeRanges when video turned off
6         https://bugs.webkit.org/show_bug.cgi?id=44249
7
8         Move the JSTimeRanges outside ENABLE_VIDEO in GNUMakefile.am
9         * WebCore/GNUMakefile.am
10
11 2010-09-03  Ilya Tikhonovsky  <loislo@chromium.org>
12
13         Reviewed by Yury Semikhatsky.
14
15         Web Inspector: cleanup inspector api. getChildNodes should return array of child nodes as an output value.
16
17         The current implementation of the inspector api has some unnecessary complexity. 
18         As example WebInspector is requesting child nodes of a node by getChildNodes
19         but DOM agent is actually pushing the child nodes via setChildNodes event call and
20         send back an empty response message.
21
22         https://bugs.webkit.org/show_bug.cgi?id=45172
23
24         * inspector/CodeGeneratorInspector.pm:
25         * inspector/Inspector.idl:
26         * inspector/InspectorDOMAgent.cpp:
27         (WebCore::InspectorDOMAgent::getChildNodesArray):
28         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
29         (WebCore::InspectorDOMAgent::getChildNodes):
30         * inspector/InspectorDOMAgent.h:
31         * inspector/front-end/DOMAgent.js:
32         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
33         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
34         * inspector/front-end/WorkersSidebarPane.js:
35         (WebInspector.WorkersSidebarPane.prototype.reset):
36
37 2010-09-03  Nikolas Zimmermann  <nzimmermann@rim.com>
38
39         Reviewed by Dirk Schulze.
40
41         SVG atlas map slider doesn't work properly
42         https://bugs.webkit.org/show_bug.cgi?id=45107
43
44         SVG 1.1 2nd edition relaxes hit testing rules. The outermost <svg> should react
45         to mouse events, in standalone and compound documents, if the mouse location is
46         within the intrinsic boundaries of the <svg> element.
47
48         Tests: svg/custom/mouse-move-on-svg-container-standalone.svg
49                svg/custom/mouse-move-on-svg-container.xhtml
50                svg/custom/mouse-move-on-svg-root-standalone.svg
51                svg/custom/mouse-move-on-svg-root.xhtml
52
53         * rendering/RenderSVGRoot.cpp:
54         (WebCore::RenderSVGRoot::nodeAtPoint):
55
56 2010-09-03  Pavel Podivilov  <podivilov@chromium.org>
57
58         Reviewed by Yury Semikhatsky.
59
60         Web Inspector: provide more information to front-end when breaking on DOM event
61         https://bugs.webkit.org/show_bug.cgi?id=44679
62
63         * dom/ContainerNode.cpp:
64         (WebCore::ContainerNode::insertBefore):
65         (WebCore::ContainerNode::parserInsertBefore):
66         (WebCore::ContainerNode::replaceChild):
67         (WebCore::ContainerNode::appendChild):
68         (WebCore::ContainerNode::parserAddChild):
69         (WebCore::notifyChildInserted):
70         (WebCore::dispatchChildRemovalEvents):
71         * dom/Element.cpp:
72         (WebCore::Element::setAttribute):
73         (WebCore::Element::removeAttribute):
74         * inspector/Inspector.idl:
75         * inspector/InspectorController.cpp:
76         (WebCore::InspectorController::willInsertDOMNodeImpl):
77         (WebCore::InspectorController::didInsertDOMNodeImpl):
78         (WebCore::InspectorController::willRemoveDOMNodeImpl):
79         (WebCore::InspectorController::didRemoveDOMNodeImpl):
80         (WebCore::InspectorController::willModifyDOMAttrImpl):
81         (WebCore::InspectorController::didModifyDOMAttrImpl):
82         * inspector/InspectorController.h:
83         (WebCore::InspectorController::willInsertDOMNode):
84         (WebCore::InspectorController::didInsertDOMNode):
85         (WebCore::InspectorController::willRemoveDOMNode):
86         (WebCore::InspectorController::willModifyDOMAttr):
87         (WebCore::InspectorController::didModifyDOMAttr):
88         (WebCore::InspectorController::inspectorControllerForNode):
89         * inspector/InspectorDOMAgent.cpp:
90         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
91         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
92         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
93         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
94         (WebCore::InspectorDOMAgent::didInsertDOMNode):
95         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
96         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
97         (WebCore::InspectorDOMAgent::createBreakpoint):
98         * inspector/InspectorDOMAgent.h:
99         * inspector/InspectorDebuggerAgent.cpp:
100         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
101         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
102         (WebCore::InspectorDebuggerAgent::didPause):
103         (WebCore::InspectorDebuggerAgent::breakProgram):
104         * inspector/InspectorDebuggerAgent.h:
105         * inspector/InspectorValues.h:
106         (WebCore::InspectorValue::isNull):
107         * inspector/front-end/BreakpointsSidebarPane.js:
108         (WebInspector.BreakpointItem):
109         (WebInspector.BreakpointItem.prototype._enableChanged):
110         * inspector/front-end/Script.js:
111         (WebInspector.Script.prototype.get linesCount):
112         * inspector/front-end/inspector.js:
113         (WebInspector.pausedScript):
114
115 2010-08-31  Jeremy Orlow  <jorlow@chromium.org>
116
117         Reviewed by Steve Block.
118
119         IDBCursor.continue() should reuse the .openCursor's IDBRequest object
120         https://bugs.webkit.org/show_bug.cgi?id=44953
121
122         This is to match the spec. This requires a modification to IDBRequest so
123         that multiple events can be queued up.
124
125         Note that the initial state for IDBRequest was removed from the spec.
126
127         Test: modified existing test to verify new behavior.
128
129         * storage/IDBAny.cpp:
130         (WebCore::IDBAny::createInvalid):
131         (WebCore::IDBAny::createNull):
132         (WebCore::IDBAny::setNull):
133         * storage/IDBAny.h:
134         (WebCore::IDBAny::create):
135         * storage/IDBCursor.cpp:
136         (WebCore::IDBCursor::IDBCursor):
137         (WebCore::IDBCursor::continueFunction):
138         * storage/IDBCursor.h:
139         (WebCore::IDBCursor::create):
140         * storage/IDBCursor.idl:
141         * storage/IDBRequest.cpp:
142         (WebCore::IDBRequest::IDBRequest):
143         (WebCore::IDBRequest::~IDBRequest):
144         (WebCore::IDBRequest::resetReadyState):
145         (WebCore::IDBRequest::onError):
146         (WebCore::IDBRequest::onSuccess):
147         (WebCore::IDBRequest::abort):
148         (WebCore::IDBRequest::timerFired):
149         (WebCore::IDBRequest::scheduleEvent):
150         * storage/IDBRequest.h:
151         * storage/IDBRequest.idl:
152
153 2010-09-03  Bharathwaaj Srinivasan  <bharathwaaj.s@gmail.com>
154
155         Reviewed by Xan Lopez.
156
157         Initialize keyboard events before passing plugins.
158         https://bugs.webkit.org/show_bug.cgi?id=44771
159
160         No new tests needed since this is a trivial fix.
161
162         * plugins/gtk/PluginViewGtk.cpp:
163         (WebCore::PluginView::handleKeyboardEvent):
164
165 2010-09-03  Yury Semikhatsky  <yurys@chromium.org>
166
167         Unreviewed. Fix Qt compilation.
168
169         * html/HTMLEmbedElement.cpp:
170         (WebCore::HTMLEmbedElement::parametersForPlugin):
171
172 2010-09-03  Hironori Bono  <hbono@chromium.org>
173
174         Reviewed by Kent Tamura.
175
176         Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
177         and implements it for Mac.
178         https://bugs.webkit.org/show_bug.cgi?id=41832
179
180         Tests: editing/spelling/spelling-contenteditable.html
181                editing/spelling/spelling-textarea.html
182
183         * WebCore.exp.in: Exported symbols used by [WebFrame hasSpellingMarker:length:].
184
185 2010-09-02  Yury Semikhatsky  <yurys@chromium.org>
186
187         Reviewed by Pavel Feldman.
188
189         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
190         https://bugs.webkit.org/show_bug.cgi?id=44230
191
192         * inspector/Inspector.idl:
193         * inspector/InspectorController.cpp:
194         (WebCore::InspectorController::inspectedPageDestroyed):
195         (WebCore::InspectorController::close):
196         * inspector/InspectorFrontendClient.h:
197         * inspector/InspectorFrontendHost.cpp:
198         (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
199         that frontend closes if InspectorController triggered the action.
200         * inspector/InspectorFrontendHost.h:
201         * inspector/InspectorFrontendHost.idl:
202         * inspector/front-end/InspectorFrontendHostStub.js:
203         (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
204         * inspector/front-end/inspector.js:
205         (WebInspector.disconnectFromBackend):
206
207 2010-09-03  Girish Ramakrishnan  <girish@forwardbias.in>
208
209         Reviewed-by Simon Hausmann.
210
211         Passing a 32-bit depth X pixmap to NPAPI windowless plugins is too inefficient. 
212         Instead, pass a X Pixmap that has same depth as the screen depth since graphics 
213         operations are optimized for this depth.
214
215         https://bugs.webkit.org/show_bug.cgi?id=45167
216
217         * plugins/PluginPackage.cpp:
218         (WebCore::PluginPackage::determineQuirks):
219
220 2010-09-02  Kwang Yul Seo  <skyul@company100.net>
221
222         Reviewed by Kent Tamura.
223
224         Add ENABLE(DATABASE) guard to DatabaseAuthorizer.cpp
225         https://bugs.webkit.org/show_bug.cgi?id=45152
226
227         DatabaseAuthorizer is used only with ENABLE(DATABASE).
228
229         * storage/DatabaseAuthorizer.cpp:
230
231 2010-09-02  Pavel Podivilov  <podivilov@chromium.org>
232
233         Reviewed by Yury Semikhatsky.
234
235         Web Inspector: persist DOM breakpoints between page reloads
236         https://bugs.webkit.org/show_bug.cgi?id=44837
237
238         * inspector/front-end/BreakpointsSidebarPane.js:
239         (WebInspector.DOMBreakpointItem):
240         * inspector/front-end/DOMAgent.js:
241         (WebInspector.DOMNode.prototype.path):
242         (WebInspector.DOMNode.prototype.setBreakpoint):
243         (WebInspector.DOMNode.prototype.hasBreakpoint):
244         (WebInspector.DOMNode.prototype.removeBreakpoint):
245         (WebInspector.DOMNode.prototype.removeBreakpoints):
246         (WebInspector.DOMAgent.prototype._setDocument):
247         (WebInspector.DOMAgent.prototype._childNodeRemoved):
248         (WebInspector.DOMAgent.prototype._removeBreakpoints):
249         (WebInspector.DOMBreakpointManager):
250         (WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
251         (WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
252         (WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
253         (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints.restoreBreakpointsForNode):
254         (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints):
255         (WebInspector.DOMBreakpoint):
256         (WebInspector.DOMBreakpoint.prototype.get nodeId):
257         (WebInspector.DOMBreakpoint.prototype.get type):
258         (WebInspector.DOMBreakpoint.prototype.set enabled):
259         (WebInspector.DOMBreakpoint.prototype.remove):
260         * inspector/front-end/ElementsPanel.js:
261         (WebInspector.ElementsPanel.prototype.reset):
262         (WebInspector.ElementsPanel.prototype.setDocument):
263         * inspector/front-end/ElementsTreeOutline.js:
264         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
265         * inspector/front-end/SourceFrame.js:
266         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
267
268 2010-09-02  Eric Seidel  <eric@webkit.org>
269
270         Reviewed by Dimitri Glazkov.
271
272         Move updateWidget into FrameView from RenderEmbeddedObject
273         https://bugs.webkit.org/show_bug.cgi?id=45065
274
275         I also made updateWidget() virtual on HTMLPlugInImageElement.
276         I'm not yet sure that updateWidget belongs on HTMLElement since
277         I'm not sure that HTMLMediaElement's use of the updateWidget
278         infrastructure is correct.
279
280         I also got rid of the strange !m_replacementText.isEmpty() checks
281         by making a pluginCrashedOrWasMissing() call which seems to embody
282         the idea behind that check and hides the screwy details.
283
284         I noticed a couple methods on HTMLPlugInImageElement were public
285         which did not need to be.  Fixed.
286
287         No functional change, thus no tests.
288
289         * html/HTMLEmbedElement.h:
290         * html/HTMLObjectElement.h:
291         * html/HTMLPlugInImageElement.cpp:
292         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
293         * html/HTMLPlugInImageElement.h:
294         (WebCore::HTMLPlugInImageElement::serviceType):
295         (WebCore::HTMLPlugInImageElement::url):
296         * page/FrameView.cpp:
297         (WebCore::FrameView::updateWidget):
298         (WebCore::FrameView::updateWidgets):
299         * page/FrameView.h:
300         * rendering/RenderEmbeddedObject.cpp:
301         (WebCore::RenderEmbeddedObject::pluginCrashedOrWasMissing):
302         (WebCore::RenderEmbeddedObject::paint):
303         (WebCore::RenderEmbeddedObject::paintReplaced):
304         * rendering/RenderEmbeddedObject.h:
305
306 2010-09-02  Eric Seidel  <eric@webkit.org>
307
308         Reviewed by Dimitri Glazkov.
309
310         Move updateWidget implementations into the DOM
311         https://bugs.webkit.org/show_bug.cgi?id=45058
312
313         Unfortunately it's not yet possible to share an updateWidget
314         implementation between <embed> and <object>.  That would amount to
315         (positive) functional changes for <embed> which I'd will separate
316         into a later patch.  I will also have to untangle <object>'s <param>
317         walk from its url/serviceType calculations.
318
319         However after this patch it's slap-you-across-the-face obvious that
320         RenderEmbeddedObject::updateWidget was the wrong place for this code.
321         RenderEmbeddedObject::updateWidget still exists, but only as a
322         pseudo-virtual-method dispatcher.  Unless we add updateWidget() to
323         HTMLElement, we won't be able to use real virtual dispatch.
324
325         I may need to consider making "having a widget" a has-a relationship
326         with some sort of WidgetContainer object which Media and Plugin can
327         share.  Or its also possible that Media's use of the widget code here
328         is just wrong.  Certainly now that updateWidget was moved into HTMLMediaElement
329         it becomes obvious that HTMLMediaElement has duplicate code for updating widgets.
330
331         No functional changes, thus no tests.
332
333         * html/HTMLEmbedElement.cpp:
334         (WebCore::HTMLEmbedElement::updateWidget):
335         * html/HTMLEmbedElement.h:
336         * html/HTMLMediaElement.cpp:
337         (WebCore::HTMLMediaElement::updateWidget):
338         * html/HTMLMediaElement.h:
339         * html/HTMLObjectElement.cpp:
340         (WebCore::HTMLObjectElement::updateWidget):
341         * html/HTMLObjectElement.h:
342         (WebCore::HTMLObjectElement::useFallbackContent):
343         * html/HTMLPlugInImageElement.h:
344         (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
345         (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
346         * loader/FrameLoader.cpp:
347         * rendering/RenderEmbeddedObject.cpp:
348         (WebCore::RenderEmbeddedObject::updateWidget):
349
350 2010-09-02  Eric Seidel  <eric@webkit.org>
351
352         Reviewed by Dimitri Glazkov.
353
354         Move more code from RenderEmbeddedObject into the DOM
355         https://bugs.webkit.org/show_bug.cgi?id=45055
356
357         No logic changes here, just taking the code which
358         I ripped out of RenderEmbeddedObject::updateWidget
359         into static methods before and moving it into
360         the applicable DOM classes.
361
362         HTMLObjectElement::parametersForPlugin does too much
363         but in order to fix it I may need to add a PluginParameters
364         class so we can ask things about the parameters. <object>
365         needs to get multiple bits of information out of its parameters
366         array.  Right now it does it all in one walk.  In order to share
367         code with HTMLEmbedElement, we need the "generate the params array"
368         code to be separate from the "make advanced <object> specific decision
369         from the params array".  But that will need to be in a later patch.
370
371         No functional changes, thus no tests.
372
373         * html/HTMLEmbedElement.cpp:
374         (WebCore::HTMLEmbedElement::parametersForPlugin):
375         * html/HTMLEmbedElement.h:
376         * html/HTMLObjectElement.cpp:
377         (WebCore::createClassIdToTypeMap):
378         (WebCore::serviceTypeForClassId):
379         (WebCore::mapDataParamToSrc):
380         (WebCore::HTMLObjectElement::parametersForPlugin):
381         (WebCore::HTMLObjectElement::hasFallbackContent):
382         * html/HTMLObjectElement.h:
383         * html/HTMLPlugInImageElement.cpp:
384         (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
385         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
386         (WebCore::HTMLPlugInImageElement::detach): 
387         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
388         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
389         * html/HTMLPlugInImageElement.h:
390         * rendering/RenderEmbeddedObject.cpp:
391         (WebCore::updateWidgetForObjectElement):
392         (WebCore::updateWidgetForEmbedElement):
393         (WebCore::RenderEmbeddedObject::updateWidget):
394
395 2010-09-02  Fran├žois Sausset  <sausset@gmail.com>
396
397         Reviewed by Darin Adler.
398
399         MathML mo element should render "hyphen-minus" as "minus sign" (Unicode glyph names).
400         https://bugs.webkit.org/show_bug.cgi?id=43629
401
402         Test: mathml/presentation/mo.xhtml
403
404         * mathml/RenderMathMLOperator.cpp:
405         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
406         (WebCore::RenderMathMLOperator::updateFromElement):
407         * mathml/RenderMathMLOperator.h:
408         (WebCore::convertHyphenMinusToMinusSign):
409         * platform/text/CharacterNames.h:
410
411 2010-09-02  Kenneth Russell  <kbr@google.com>
412
413         Reviewed by Darin Fisher.
414
415         Add red-black tree capable of holding plain old data (POD)
416         https://bugs.webkit.org/show_bug.cgi?id=45059
417
418         Adding an augmentable red-black tree capable of holding Plain Old
419         Data (POD), or classes bottoming out into only POD, and an
420         associated PODArena. Note that the PODArena will be used by other
421         classes to allocate temporary structures, which is why it is not
422         just an implementation detail of the red-black tree.
423
424         These classes are being placed under WebCore/platform/graphics/gpu
425         for the time being. If they are generalized to hold even data
426         types which internally perform dynamic memory allocation, we may
427         consider moving them to WTF in the future.
428
429         Unit tests for the PODRedBlackTree will be integrated separately
430         under bug 45060.
431
432         * WebCore.gypi:
433         * platform/graphics/gpu/PODArena.h: Added.
434         (WebCore::PODArena::Allocator::~Allocator):
435         (WebCore::PODArena::FastMallocAllocator::create):
436         (WebCore::PODArena::FastMallocAllocator::allocate):
437         (WebCore::PODArena::FastMallocAllocator::free):
438         (WebCore::PODArena::FastMallocAllocator::FastMallocAllocator):
439         (WebCore::PODArena::create):
440         (WebCore::PODArena::allocateObject):
441         (WebCore::PODArena::~PODArena):
442         (WebCore::PODArena::PODArena):
443         (WebCore::PODArena::minAlignment):
444         (WebCore::PODArena::roundUp):
445         (WebCore::PODArena::Chunk::Chunk):
446         (WebCore::PODArena::Chunk::~Chunk):
447         (WebCore::PODArena::Chunk::allocate):
448         * platform/graphics/gpu/PODRedBlackTree.h: Added.
449         (WebCore::PODRedBlackTree::Visitor::~Visitor):
450         (WebCore::PODRedBlackTree::PODRedBlackTree):
451         (WebCore::PODRedBlackTree::~PODRedBlackTree):
452         (WebCore::PODRedBlackTree::add):
453         (WebCore::PODRedBlackTree::remove):
454         (WebCore::PODRedBlackTree::contains):
455         (WebCore::PODRedBlackTree::visitInorder):
456         (WebCore::PODRedBlackTree::size):
457         (WebCore::PODRedBlackTree::setNeedsFullOrderingComparisons):
458         (WebCore::PODRedBlackTree::checkInvariants):
459         (WebCore::PODRedBlackTree::dump):
460         (WebCore::PODRedBlackTree::setVerboseDebugging):
461         (WebCore::PODRedBlackTree::Node::Node):
462         (WebCore::PODRedBlackTree::Node::~Node):
463         (WebCore::PODRedBlackTree::Node::color):
464         (WebCore::PODRedBlackTree::Node::setColor):
465         (WebCore::PODRedBlackTree::Node::data):
466         (WebCore::PODRedBlackTree::Node::copyFrom):
467         (WebCore::PODRedBlackTree::Node::left):
468         (WebCore::PODRedBlackTree::Node::setLeft):
469         (WebCore::PODRedBlackTree::Node::right):
470         (WebCore::PODRedBlackTree::Node::setRight):
471         (WebCore::PODRedBlackTree::Node::parent):
472         (WebCore::PODRedBlackTree::Node::setParent):
473         (WebCore::PODRedBlackTree::root):
474         (WebCore::PODRedBlackTree::updateNode):
475         (WebCore::PODRedBlackTree::treeSearch):
476         (WebCore::PODRedBlackTree::treeSearchNormal):
477         (WebCore::PODRedBlackTree::treeSearchFullComparisons):
478         (WebCore::PODRedBlackTree::treeInsert):
479         (WebCore::PODRedBlackTree::treeSuccessor):
480         (WebCore::PODRedBlackTree::treeMinimum):
481         (WebCore::PODRedBlackTree::propagateUpdates):
482         (WebCore::PODRedBlackTree::leftRotate):
483         (WebCore::PODRedBlackTree::rightRotate):
484         (WebCore::PODRedBlackTree::insertNode):
485         (WebCore::PODRedBlackTree::deleteFixup):
486         (WebCore::PODRedBlackTree::deleteNode):
487         (WebCore::PODRedBlackTree::visitInorderImpl):
488         (WebCore::PODRedBlackTree::Counter::Counter):
489         (WebCore::PODRedBlackTree::Counter::visit):
490         (WebCore::PODRedBlackTree::Counter::count):
491         (WebCore::PODRedBlackTree::checkInvariantsFromNode):
492         (WebCore::PODRedBlackTree::logIfVerbose):
493         (WebCore::PODRedBlackTree::dumpFromNode):
494
495 2010-09-02  Rafael Antognolli  <antognolli@profusion.mobi>
496
497         Reviewed by Martin Robinson.
498
499         [Cairo] Remove glib dependency (caused by use of GOwnPtr)
500         https://bugs.webkit.org/show_bug.cgi?id=45053
501
502         Use OwnPtr instead of GOwnPtr to keep track of Fc* references
503         in FontCacheCairo.cpp.
504
505         No features added, so no new tests.
506
507         * CMakeListsEfl.txt: Updating build system to look for GOwnPtrCairo.*
508         * GNUmakefile.am: Ditto.
509         * platform/graphics/cairo/FontCacheCairo.cpp: Using OwnPtr instead of GOwnPtr.
510         (WebCore::FontCache::createFontPlatformData):
511         * platform/graphics/cairo/GOwnPtrCairo.cpp: Removed.
512         * platform/graphics/cairo/GOwnPtrCairo.h: Removed.
513         * platform/graphics/cairo/OwnPtrCairo.cpp: Added.
514         (WTF::FcPattern):
515         (WTF::FcObjectSet):
516         (WTF::FcFontSet):
517         * platform/graphics/cairo/OwnPtrCairo.h: Added.
518
519 2010-09-02  Kinuko Yasuda  <kinuko@chromium.org>
520
521         Unreviewed, updating binding-tests expectations (for changeset 66521).
522
523         * bindings/scripts/test/V8/V8TestObj.cpp:
524         (WebCore::TestObjInternal::stringAttrAttrSetter):
525         (WebCore::TestObjInternal::reflectedStringAttrAttrSetter):
526         (WebCore::TestObjInternal::reflectedURLAttrAttrSetter):
527         (WebCore::TestObjInternal::reflectedNonEmptyURLAttrAttrSetter):
528         (WebCore::TestObjInternal::reflectedCustomURLAttrAttrSetter):
529         (WebCore::TestObjInternal::reflectedCustomNonEmptyURLAttrAttrSetter):
530         (WebCore::TestObjInternal::stringAttrWithGetterExceptionAttrSetter):
531         (WebCore::TestObjInternal::stringAttrWithSetterExceptionAttrSetter):
532
533 2010-09-02  Adam Langley  <agl@chromium.org>
534
535         Reviewed by Adam Barth.
536
537         [chromium] fix memory corruption in Khmer rendering.
538
539         https://bugs.webkit.org/show_bug.cgi?id=44960
540
541         Test: fast/text/khmer-crash.html
542
543         * platform/graphics/chromium/FontLinux.cpp:
544         (WebCore::TextRunWalker::shapeGlyphs):
545           The Khmer shaper has a bug where it would request larger output
546           buffers, but request a zero increase in size. Because of this we add
547           one to the requested size.
548         (WebCore::TextRunWalker::setGlyphXPositions):
549           The Khmer shaper is outputing cluster logs which suggest that some
550           output glyphs appear from nowhere (i.e. have no input codepoints). I
551           don't know Khmer, so maybe that's correct, but it broke the
552           assumptions of this code, causing a read out-of-bounds.
553         * platform/graphics/chromium/HarfbuzzSkia.cpp:
554         (WebCore::stringToGlyphs):
555           The Harfbuzz interfaces aren't documented, but it appears that the
556           output array to stringToGlyphs isn't sized and that Harfbuzz expects
557           us to detect when the input is too long.
558
559 2010-09-02  Adam Roben  <aroben@apple.com>
560
561         Fill the scroll corner with white when shouldPaintCustomScrollbars is
562         false
563
564         Previously we were only filling with white when
565         shouldPaintCustomScrollbars was true but the ChromeClient didn't paint
566         any custom scrollbars.
567
568         Reviewed by Sam Weinig.
569
570         * platform/ScrollbarThemeComposite.cpp:
571         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
572
573 2010-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
574
575         Unreviewed, rolling out r66671.
576         http://trac.webkit.org/changeset/66671
577         https://bugs.webkit.org/show_bug.cgi?id=45115
578
579         http/tests/misc/redirect-to-about-blank.html is failing on
580         several platforms (Requested by japhet on #webkit).
581
582         * WebCore.exp.in:
583         * dom/Document.cpp:
584         (WebCore::Document::Document):
585         (WebCore::Document::updateURLForPushOrReplaceState):
586         * loader/DocumentWriter.cpp:
587         (WebCore::DocumentWriter::begin):
588         * loader/FrameLoader.cpp:
589         (WebCore::FrameLoader::iconURL):
590         (WebCore::FrameLoader::didOpenURL):
591         (WebCore::FrameLoader::didExplicitOpen):
592         (WebCore::FrameLoader::receivedFirstData):
593         (WebCore::FrameLoader::setURL):
594         (WebCore::FrameLoader::startIconLoader):
595         (WebCore::FrameLoader::commitIconURLToIconDatabase):
596         (WebCore::FrameLoader::finishedParsing):
597         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
598         (WebCore::FrameLoader::checkIfRunInsecureContent):
599         (WebCore::FrameLoader::updateFirstPartyForCookies):
600         (WebCore::FrameLoader::loadInSameDocument):
601         (WebCore::FrameLoader::commitProvisionalLoad):
602         (WebCore::FrameLoader::open):
603         (WebCore::FrameLoader::shouldScrollToAnchor):
604         * loader/FrameLoader.h:
605         (WebCore::FrameLoader::url):
606
607 2010-09-01  Zhenyao Mo  <zmo@google.com>
608
609         Reviewed by Kenneth Russell.
610
611         Roll ANGLE under webkit to r402
612         https://bugs.webkit.org/show_bug.cgi?id=45004
613
614         * platform/graphics/mac/GraphicsContext3DMac.mm: Update the code to use newer ANGLE interface.
615         (WebCore::GraphicsContext3D::GraphicsContext3D):
616
617 2010-09-02  Ilya Tikhonovsky  <loislo@chromium.org>
618
619         Reviewed by Yury Semikhatsky.
620
621         WebInspector: Timeline instrumentation code can crash browser.
622
623         Steps:
624         1) load the site
625         2) open inspector
626         3) start timeline recording
627         4) reload inspected page
628         got NPE
629
630         https://bugs.webkit.org/show_bug.cgi?id=45098
631
632         * loader/ResourceLoader.cpp:
633         (WebCore::ResourceLoader::didReceiveResponse):
634         (WebCore::ResourceLoader::didReceiveData):
635
636 2010-09-02  Nate Chapin  <japhet@chromium.org>
637
638         Reviewed by Adam Barth.
639
640         Remove m_URL from FrameLoader and instead depend on Document's url.
641         FrameLoader::url() will be removed in a later patch.
642
643         http://bugs.webkit.org/show_bug.cgi?id=41165
644
645         No new tests, since this predominantly a refactor. Updating
646         fast/dom/early-frame-url.html.
647
648         * WebCore.exp.in:
649         * dom/Document.cpp:
650         (WebCore::Document::Document):
651         (WebCore::Document::updateURLForPushOrReplaceState):
652         * loader/DocumentWriter.cpp:
653         (WebCore::DocumentWriter::begin):
654         * loader/FrameLoader.cpp:
655         (WebCore::FrameLoader::iconURL):
656         (WebCore::FrameLoader::didOpenURL):
657         (WebCore::FrameLoader::didExplicitOpen):
658         (WebCore::FrameLoader::receivedFirstData):
659         (WebCore::FrameLoader::url):
660         (WebCore::FrameLoader::setOutgoingReferrer):
661         (WebCore::FrameLoader::startIconLoader):
662         (WebCore::FrameLoader::commitIconURLToIconDatabase):
663         (WebCore::FrameLoader::finishedParsing):
664         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
665         (WebCore::FrameLoader::checkIfRunInsecureContent):
666         (WebCore::FrameLoader::updateFirstPartyForCookies):
667         (WebCore::FrameLoader::loadInSameDocument):
668         (WebCore::FrameLoader::commitProvisionalLoad):
669         (WebCore::FrameLoader::open):
670         (WebCore::FrameLoader::shouldScrollToAnchor):
671         * loader/FrameLoader.h:
672
673 2010-09-01  Tony Gentilcore  <tonyg@chromium.org>
674
675         Reviewed by Adam Barth.
676
677         Support <script defer> as specified by HTML5
678         https://bugs.webkit.org/show_bug.cgi?id=40934
679
680         Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
681                fast/dom/HTMLScriptElement/defer-double-write.html
682                fast/dom/HTMLScriptElement/defer-inline-script.html
683                fast/dom/HTMLScriptElement/defer-onbeforeload.html
684                fast/dom/HTMLScriptElement/defer-script-invalid-url.html
685                fast/dom/HTMLScriptElement/defer-write.html
686                fast/dom/HTMLScriptElement/two-defer-writes.html
687                http/tests/misc/script-defer-after-slow-stylesheet.html
688                http/tests/misc/script-defer.html
689
690         * dom/Document.cpp:
691         (WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts.
692         * dom/DocumentParser.cpp:
693         (WebCore::DocumentParser::DocumentParser):
694         (WebCore::DocumentParser::startParsing):
695         (WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping.
696         (WebCore::DocumentParser::stopParsing):
697         (WebCore::DocumentParser::detach):
698         * dom/DocumentParser.h:
699         (WebCore::DocumentParser::isParsing):
700         (WebCore::DocumentParser::isActive):
701         (WebCore::DocumentParser::isStopping):
702         (WebCore::DocumentParser::isDetached):
703         * dom/RawDataDocumentParser.h:
704         (WebCore::RawDataDocumentParser::finish):
705         * dom/XMLDocumentParser.cpp:
706         (WebCore::XMLDocumentParser::append):
707         (WebCore::XMLDocumentParser::exitText):
708         * dom/XMLDocumentParserLibxml2.cpp:
709         (WebCore::XMLDocumentParser::doWrite):
710         (WebCore::XMLDocumentParser::startElementNs):
711         (WebCore::XMLDocumentParser::endElementNs):
712         (WebCore::XMLDocumentParser::characters):
713         (WebCore::XMLDocumentParser::error):
714         (WebCore::XMLDocumentParser::processingInstruction):
715         (WebCore::XMLDocumentParser::cdataBlock):
716         (WebCore::XMLDocumentParser::comment):
717         (WebCore::XMLDocumentParser::internalSubset):
718         (WebCore::XMLDocumentParser::initializeParserContext):
719         (WebCore::XMLDocumentParser::doEnd):
720         * html/parser/HTMLDocumentParser.cpp:
721         (WebCore::HTMLDocumentParser::prepareToStopParsing):
722         (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
723         (WebCore::HTMLDocumentParser::pumpTokenizer):
724         (WebCore::HTMLDocumentParser::insert):
725         (WebCore::HTMLDocumentParser::append):
726         (WebCore::HTMLDocumentParser::end):
727         (WebCore::HTMLDocumentParser::attemptToEnd):
728         (WebCore::HTMLDocumentParser::endIfDelayed):
729         (WebCore::HTMLDocumentParser::notifyFinished):
730         * html/parser/HTMLDocumentParser.h:
731         * html/parser/HTMLScriptRunner.cpp:
732         (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
733         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
734         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
735         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
736         (WebCore::HTMLScriptRunner::requestDeferredScript):
737         (WebCore::HTMLScriptRunner::runScript):
738         * html/parser/HTMLScriptRunner.h:
739         * loader/ImageDocument.cpp:
740         (WebCore::ImageDocumentParser::finish):
741
742 2010-09-02  Andrey Kosyakov  <caseq@chromium.org>
743
744         Reviewed by Yury Semikhatsky.
745
746         Web Inspector: HAR converter fails on POST requests with non-form content type
747         https://bugs.webkit.org/show_bug.cgi?id=45109
748
749         * inspector/front-end/HAREntry.js:
750         (WebInspector.HAREntry.prototype._buildPostData):
751
752 2010-09-02  Andreas Kling  <andreas.kling@nokia.com>
753
754         Rubber-stamped by Simon Hausmann.
755
756         [Qt] REGRESSION(r62898): tst_QWebFrame crashing
757         https://bugs.webkit.org/show_bug.cgi?id=43039
758
759         Rolling out the offending change <http://trac.webkit.org/changeset/62898>
760
761         * bridge/qt/qt_instance.cpp:
762         (JSC::Bindings::QtInstance::markAggregate):
763
764 2010-09-02  Anton Muhin  <antonm@chromium.org>
765
766         Reviewed by Tony Chang.
767
768         Fix indentation.
769         https://bugs.webkit.org/show_bug.cgi?id=44678
770
771         * bindings/scripts/CodeGeneratorV8.pm:
772
773 2010-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
774
775         Unreviewed, rolling out r66655.
776         http://trac.webkit.org/changeset/66655
777         https://bugs.webkit.org/show_bug.cgi?id=45104
778
779         broke some editing tests (Requested by kling on #webkit).
780
781         * page/DOMSelection.cpp:
782         (WebCore::DOMSelection::collapse):
783         (WebCore::DOMSelection::selectAllChildren):
784
785 2010-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
786
787         Unreviewed, rolling out r66649.
788         http://trac.webkit.org/changeset/66649
789         https://bugs.webkit.org/show_bug.cgi?id=45103
790
791         It broke ~2000 tests on Qt bot (Requested by Ossy on #webkit).
792
793         * dom/Document.cpp:
794         (WebCore::Document::open):
795         * dom/DocumentParser.cpp:
796         (WebCore::DocumentParser::DocumentParser):
797         (WebCore::DocumentParser::detach):
798         * dom/DocumentParser.h:
799         (WebCore::DocumentParser::isDetached):
800         (WebCore::DocumentParser::stopParsing):
801         * dom/RawDataDocumentParser.h:
802         (WebCore::RawDataDocumentParser::finish):
803         * dom/XMLDocumentParser.cpp:
804         (WebCore::XMLDocumentParser::append):
805         (WebCore::XMLDocumentParser::exitText):
806         * dom/XMLDocumentParserLibxml2.cpp:
807         (WebCore::XMLDocumentParser::doWrite):
808         (WebCore::XMLDocumentParser::startElementNs):
809         (WebCore::XMLDocumentParser::endElementNs):
810         (WebCore::XMLDocumentParser::characters):
811         (WebCore::XMLDocumentParser::error):
812         (WebCore::XMLDocumentParser::processingInstruction):
813         (WebCore::XMLDocumentParser::cdataBlock):
814         (WebCore::XMLDocumentParser::comment):
815         (WebCore::XMLDocumentParser::internalSubset):
816         (WebCore::XMLDocumentParser::initializeParserContext):
817         (WebCore::XMLDocumentParser::doEnd):
818         * dom/XMLDocumentParserQt.cpp:
819         (WebCore::XMLDocumentParser::initializeParserContext):
820         (WebCore::XMLDocumentParser::doEnd):
821         (WebCore::XMLDocumentParser::parse):
822         * html/parser/HTMLDocumentParser.cpp:
823         (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
824         (WebCore::HTMLDocumentParser::pumpTokenizer):
825         (WebCore::HTMLDocumentParser::insert):
826         (WebCore::HTMLDocumentParser::append):
827         (WebCore::HTMLDocumentParser::end):
828         (WebCore::HTMLDocumentParser::attemptToEnd):
829         (WebCore::HTMLDocumentParser::endIfDelayed):
830         (WebCore::HTMLDocumentParser::notifyFinished):
831         * html/parser/HTMLDocumentParser.h:
832         * html/parser/HTMLScriptRunner.cpp:
833         (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
834         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
835         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
836         (WebCore::HTMLScriptRunner::runScript):
837         * html/parser/HTMLScriptRunner.h:
838         * loader/ImageDocument.cpp:
839         (WebCore::ImageDocumentParser::finish):
840
841 2010-09-02  Eric Seidel  <eric@webkit.org>
842
843         Reviewed by Dimitri Glazkov.
844
845         Share more code between HTMLObjectElement and HTMLEmbedElement
846         https://bugs.webkit.org/show_bug.cgi?id=45054
847
848         This pushes more of HTMLObjectElement code down into
849         HTMLPlugInImageElement so that it can be shared with
850         HTMLEmbedElement.
851
852         The most notable changes are:
853         - HTMLEmbedElement now "delays" updating the widget until
854           all of its children are parsed (this matches HTMLObjectElement).
855           However, since HTMLEmbedElement can't have children, this is actually
856           no delay.
857         - useFallbackContent is now virtual, allowing HTMLEmbedElement and
858           HTMLObjectElement to share the same code paths, and the <embed>
859           case to just always return false for useFallbackContent().
860
861         This is the final (fourth) part of this change.
862
863         No functional change, thus no tests.
864
865         * html/HTMLEmbedElement.cpp:
866         * html/HTMLEmbedElement.h:
867         * html/HTMLObjectElement.cpp:
868         (WebCore::HTMLObjectElement::rendererIsNeeded):
869         * html/HTMLObjectElement.h:
870         * html/HTMLPlugInImageElement.cpp:
871         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
872         (WebCore::HTMLPlugInImageElement::recalcStyle):
873         (WebCore::HTMLPlugInImageElement::attach):
874         (WebCore::HTMLPlugInImageElement::detach):
875         (WebCore::HTMLPlugInImageElement::finishParsingChildren):
876         * html/HTMLPlugInImageElement.h:
877
878 2010-09-02  Adam Barth  <abarth@webkit.org>
879
880         Reviewed by Eric Seidel.
881
882         Move takeAllChildrenFrom to ContainerNode
883         https://bugs.webkit.org/show_bug.cgi?id=45066
884
885         We're going to reuse this method for XMLDocumentLoader, so it's better
886         to put it in a more general location.
887
888         * dom/ContainerNode.cpp:
889         (WebCore::ContainerNode::takeAllChildrenFrom):
890         * dom/ContainerNode.h:
891         * html/parser/HTMLTreeBuilder.cpp:
892         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
893
894 2010-09-01  Andreas Kling  <andreas.kling@nokia.com>
895
896         Reviewed by Darin Adler.
897
898         DOM Selection: collapse() and selectAllChildren() should throw WRONG_DOCUMENT_ERR if node belongs to other document
899         https://bugs.webkit.org/show_bug.cgi?id=44595
900
901         Spec links:
902         http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapse
903         http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-selectallchildren
904
905         Test: fast/dom/Selection/wrong-document-err.html
906
907         * page/DOMSelection.cpp:
908         (WebCore::DOMSelection::collapse):
909         (WebCore::DOMSelection::selectAllChildren):
910
911 2010-09-02  Eric Seidel  <eric@webkit.org>
912
913         Reviewed by Dimitri Glazkov.
914
915         Share more code between HTMLObjectElement and HTMLEmbedElement
916         https://bugs.webkit.org/show_bug.cgi?id=45054
917
918         This pushes more of HTMLObjectElement code down into
919         HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
920
921         This patch was originally written in one piece and reviewed by Dimitri.
922         I'm landing it as four separate changes for easier readability and less
923         chance of regression.
924
925         No functional change, thus no tests.
926
927         * html/HTMLEmbedElement.cpp:
928         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
929         (WebCore::HTMLEmbedElement::create):
930         * html/HTMLEmbedElement.h:
931         * html/HTMLObjectElement.cpp:
932         (WebCore::HTMLObjectElement::HTMLObjectElement):
933         * html/HTMLObjectElement.h:
934         * html/HTMLPlugInImageElement.cpp:
935         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
936         (WebCore::HTMLPlugInImageElement::detach):
937         (WebCore::HTMLPlugInImageElement::finishParsingChildren):
938         * html/HTMLPlugInImageElement.h:
939         * html/HTMLTagNames.in:
940
941 2010-09-02  Eric Seidel  <eric@webkit.org>
942
943         Reviewed by Dimitri Glazkov.
944
945         Share more code between HTMLObjectElement and HTMLEmbedElement
946         https://bugs.webkit.org/show_bug.cgi?id=45054
947
948         This pushes more of HTMLObjectElement code down into
949         HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
950
951         I also moved a little code from HTMLPluginElement to HTMLPlugInImageElement
952         since HTMLAppletElement does not need to share this same widget update logic.
953         This is a small correction from the previous change.
954
955         This patch was originally written in one piece and reviewed by Dimitri.
956         I'm landing it as three separate changes for easier readability and less
957         chance of regression.
958
959         No functional change, thus no tests.
960
961         * html/HTMLEmbedElement.cpp:
962         * html/HTMLEmbedElement.h:
963         * html/HTMLObjectElement.cpp:
964         (WebCore::HTMLObjectElement::attach):
965         (WebCore::HTMLObjectElement::finishParsingChildren):
966         (WebCore::HTMLObjectElement::detach):
967         (WebCore::HTMLObjectElement::recalcStyle):
968         (WebCore::HTMLObjectElement::childrenChanged):
969         (WebCore::HTMLObjectElement::renderFallbackContent):
970         * html/HTMLObjectElement.h:
971         (WebCore::HTMLObjectElement::useFallbackContent):
972         * html/HTMLPlugInElement.cpp:
973         * html/HTMLPlugInElement.h:
974         * html/HTMLPlugInImageElement.cpp:
975         (WebCore::HTMLPlugInImageElement::createRenderer):
976         (WebCore::HTMLPlugInImageElement::updateWidget):
977         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
978         * html/HTMLPlugInImageElement.h:
979         (WebCore::HTMLPlugInImageElement::canLazyAttach):
980         (WebCore::HTMLPlugInImageElement::useFallbackContent):
981
982 2010-09-02  Jer Noble  <jer.noble@apple.com>
983
984         Reviewed by Darin Adler.
985
986         WebKit should not accept PDFs as video.
987         https://bugs.webkit.org/show_bug.cgi?id=45013
988
989         The code in MediaPlayerPrivate::createQTMovie has been re-arranged.
990         First, the component disabling is done only once. In 64-bit QTKit will
991         store the list of disabled components and disable them once QTKitServer
992         starts, so there is no need to disable them repeatedly.  However,
993         because of a bug in 64-bit QTKit, additional requests of the exact same
994         component description will be ignored if QTKitServer is not yet running.
995         To work around this, we must provide the exact component flags for each
996         eat/PDF and grip/PDF component we wish to disable.
997
998         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
999         (WebCore::disableComponentsOnce): Added.
1000         (WebCore::MediaPlayerPrivate::createQTMovie): Moved the component
1001             disabling code into disableComponentsOnce.
1002
1003 2010-09-02  Philippe Normand  <pnormand@igalia.com>
1004
1005         Unreviewed, GTK build fix.
1006
1007         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1008         (WebCore::GStreamerGWorld::enterFullscreen):
1009
1010 2010-09-02  Eric Seidel  <eric@webkit.org>
1011
1012         Reviewed by Dimitri Glazkov.
1013
1014         Share more code between HTMLObjectElement and HTMLEmbedElement
1015         https://bugs.webkit.org/show_bug.cgi?id=45054
1016
1017         This pushes more of HTMLObjectElement code down into
1018         HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
1019
1020         I also moved a little code from HTMLPluginElement to HTMLPlugInImageElement
1021         since HTMLAppletElement does not need to share this same widget update logic.
1022         This is a small correction from the previous change.
1023
1024         This patch was originally written in one piece and reviewed by Dimitri.
1025         I'm landing it as two separate changes for easier readability and less
1026         chance of regression.
1027
1028         No functional change, thus no tests.
1029
1030         * html/HTMLEmbedElement.cpp:
1031         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
1032         (WebCore::HTMLEmbedElement::mapToEntry):
1033         (WebCore::HTMLEmbedElement::parseMappedAttribute):
1034         (WebCore::HTMLEmbedElement::rendererIsNeeded):
1035         (WebCore::HTMLEmbedElement::attach):
1036         (WebCore::HTMLEmbedElement::updateWidget):
1037         (WebCore::HTMLEmbedElement::insertedIntoDocument):
1038         (WebCore::HTMLEmbedElement::removedFromDocument):
1039         (WebCore::HTMLEmbedElement::attributeChanged):
1040         * html/HTMLEmbedElement.h:
1041         * html/HTMLObjectElement.cpp:
1042         (WebCore::HTMLObjectElement::HTMLObjectElement):
1043         (WebCore::HTMLObjectElement::parseMappedAttribute):
1044         (WebCore::HTMLObjectElement::rendererIsNeeded):
1045         (WebCore::HTMLObjectElement::attach):
1046         (WebCore::HTMLObjectElement::updateWidget):
1047         (WebCore::HTMLObjectElement::finishParsingChildren):
1048         (WebCore::HTMLObjectElement::detach):
1049         (WebCore::HTMLObjectElement::insertedIntoDocument):
1050         (WebCore::HTMLObjectElement::removedFromDocument):
1051         (WebCore::HTMLObjectElement::recalcStyle):
1052         (WebCore::HTMLObjectElement::childrenChanged):
1053         (WebCore::HTMLObjectElement::renderFallbackContent):
1054         * html/HTMLObjectElement.h:
1055         * html/HTMLPlugInElement.cpp:
1056         * html/HTMLPlugInElement.h:
1057         * html/HTMLPlugInImageElement.cpp:
1058         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
1059         (WebCore::HTMLPlugInImageElement::renderEmbeddedObject):
1060         * html/HTMLPlugInImageElement.h:
1061         (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
1062         (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
1063         * loader/SubframeLoader.cpp:
1064         (WebCore::SubframeLoader::requestObject):
1065         (WebCore::SubframeLoader::loadPlugin):
1066         * loader/SubframeLoader.h:
1067         * rendering/RenderEmbeddedObject.cpp:
1068         (WebCore::updateWidgetForObjectElement):
1069         (WebCore::updateWidgetForEmbedElement):
1070
1071 2010-09-02  Tony Gentilcore  <tonyg@chromium.org>
1072
1073         Reviewed by Adam Barth.
1074
1075         Support <script defer> as specified by HTML5
1076         https://bugs.webkit.org/show_bug.cgi?id=40934
1077
1078         Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
1079                fast/dom/HTMLScriptElement/defer-double-write.html
1080                fast/dom/HTMLScriptElement/defer-inline-script.html
1081                fast/dom/HTMLScriptElement/defer-onbeforeload.html
1082                fast/dom/HTMLScriptElement/defer-script-invalid-url.html
1083                fast/dom/HTMLScriptElement/defer-write.html
1084                fast/dom/HTMLScriptElement/two-defer-writes.html
1085                http/tests/misc/script-defer-after-slow-stylesheet.html
1086                http/tests/misc/script-defer.html
1087
1088         * dom/Document.cpp:
1089         (WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts.
1090         * dom/DocumentParser.cpp:
1091         (WebCore::DocumentParser::DocumentParser):
1092         (WebCore::DocumentParser::startParsing):
1093         (WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping.
1094         (WebCore::DocumentParser::stopParsing):
1095         (WebCore::DocumentParser::detach):
1096         * dom/DocumentParser.h:
1097         (WebCore::DocumentParser::isParsing):
1098         (WebCore::DocumentParser::isActive):
1099         (WebCore::DocumentParser::isStopping):
1100         (WebCore::DocumentParser::isDetached):
1101         * dom/RawDataDocumentParser.h:
1102         (WebCore::RawDataDocumentParser::finish):
1103         * dom/XMLDocumentParser.cpp:
1104         (WebCore::XMLDocumentParser::append):
1105         (WebCore::XMLDocumentParser::exitText):
1106         * dom/XMLDocumentParserLibxml2.cpp:
1107         (WebCore::XMLDocumentParser::doWrite):
1108         (WebCore::XMLDocumentParser::startElementNs):
1109         (WebCore::XMLDocumentParser::endElementNs):
1110         (WebCore::XMLDocumentParser::characters):
1111         (WebCore::XMLDocumentParser::error):
1112         (WebCore::XMLDocumentParser::processingInstruction):
1113         (WebCore::XMLDocumentParser::cdataBlock):
1114         (WebCore::XMLDocumentParser::comment):
1115         (WebCore::XMLDocumentParser::internalSubset):
1116         (WebCore::XMLDocumentParser::initializeParserContext):
1117         (WebCore::XMLDocumentParser::doEnd):
1118         * html/parser/HTMLDocumentParser.cpp:
1119         (WebCore::HTMLDocumentParser::prepareToStopParsing):
1120         (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
1121         (WebCore::HTMLDocumentParser::pumpTokenizer):
1122         (WebCore::HTMLDocumentParser::insert):
1123         (WebCore::HTMLDocumentParser::append):
1124         (WebCore::HTMLDocumentParser::end):
1125         (WebCore::HTMLDocumentParser::attemptToEnd):
1126         (WebCore::HTMLDocumentParser::endIfDelayed):
1127         (WebCore::HTMLDocumentParser::notifyFinished):
1128         * html/parser/HTMLDocumentParser.h:
1129         * html/parser/HTMLScriptRunner.cpp:
1130         (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
1131         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
1132         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
1133         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
1134         (WebCore::HTMLScriptRunner::requestDeferredScript):
1135         (WebCore::HTMLScriptRunner::runScript):
1136         * html/parser/HTMLScriptRunner.h:
1137         * loader/ImageDocument.cpp:
1138         (WebCore::ImageDocumentParser::finish):
1139
1140 2010-09-02  Ilya Sherman  <isherman@google.com>
1141
1142         Reviewed by Eric Seidel.
1143
1144         Decompose computing an element's inherited language, expose this
1145         capability to clients (in particular, for Chromium).
1146         https://bugs.webkit.org/show_bug.cgi?id=44803
1147
1148         No new tests -- just refactoring + exposing code.
1149
1150         * css/CSSStyleSelector.cpp:
1151         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1152         * dom/Element.cpp:
1153         (WebCore::Element::computeInheritedLang):
1154         * dom/Element.h:
1155
1156 2010-08-31  Philippe Normand  <pnormand@igalia.com>
1157
1158         Reviewed by Eric Carlson.
1159
1160         [GStreamer] can't play m4v videos
1161         https://bugs.webkit.org/show_bug.cgi?id=44951
1162
1163         Fixed registration of the m4v media type in the hashtable used by
1164         the player to report if it supports a given media type.
1165
1166         Test: media/media-can-play-mpeg4-video.html
1167
1168         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1169         (WebCore::mimeTypeCache):
1170
1171 2010-09-01  Philippe Normand  <pnormand@igalia.com>
1172
1173         Reviewed by Martin Robinson.
1174
1175         [GTK] warning: unused variable "queryResult"
1176         https://bugs.webkit.org/show_bug.cgi?id=44998
1177
1178         Fix the misbehavior introduced in r66573. The gst_element_query()
1179         call needs to be done whatever the GStreamer version used.
1180
1181         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1182         (WebCore::GStreamerGWorld::enterFullscreen):
1183
1184 2010-09-01  Jia Pu  <jpu@apple.com>
1185
1186         Reviewed by Dan Bernstein.
1187
1188         Add support for autocorrection UI on Mac OS X.
1189         https://bugs.webkit.org/show_bug.cgi?id=44958
1190         <rdar://problem/7326847>
1191
1192         Several new member methods are added to EditorClient for communication
1193         between WebCore and WebKit. A new handler, executeCancelOperation(), is
1194         added to EditorCommand.cpp so that WebCore can intercept the ESC key event
1195         to dismiss autocorrection UI. A new DocumentMarker value, RejectedCorrection,
1196         is added to keep track of the corrections that user has rejected, so that it
1197         will not be suggested again later. The autocorrection is driven by a timer.
1198         Every time the editor inserts a new letter, the timer is reset. If the timer
1199         fires, it means neither has user entered any new letter for current word, nor
1200         has he entered whitespace or punctuation to complete the word. In this case,
1201         we query for autocorrection.
1202
1203         * WebCore.exp.in: Updated
1204
1205         * dom/DocumentMarker.h: Added RejectedCorrection to indicate word on which user
1206           has rejected autocorrection.
1207
1208         * editing/Editor.cpp:
1209         (WebCore::Editor::Editor): Initialize autocorrection timer.
1210         (WebCore::Editor::~Editor): Make sure autocorrection UI is dismissed before
1211           destroying Editor object.
1212         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new signature
1213           of markAllMisspellingsAndBadGrammarInRanges().
1214         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Consolidated all
1215           boolean arguments into one bitfield. This improves readability and allows us to
1216           pass in a bit to indicate whether we want to show autocorrection UI. Also added
1217           code to show autocorrection UI if it is necessary.
1218         (WebCore::Editor::markMisspellingsAndBadGrammar): Adopted new signature of
1219           markAllMisspellingsAndBadGrammarInRanges().
1220         (WebCore::Editor::correctionPanelTimerFired): Check to see if we should show
1221           autocorrection UI when user pauses during typing.
1222         (WebCore::Editor::handleRejectedCorrection): Update user dictionary when an autocorrection is rejected.
1223         (WebCore::Editor::startCorrectionPanelTimer): Start autocorrection timer.
1224         (WebCore::Editor::handleCancelOperation): Dismiss autocorrection UI when ESC key is pressed.
1225
1226         * editing/Editor.h: Added autocorrection related member methods and variables.
1227
1228         * editing/EditorCommand.cpp:
1229         (WebCore::executeCancelOperation): Handle ESC key event. Dismiss autocorrection UI.
1230         (WebCore::createCommandMap): Updated for executeCancelOperation().
1231
1232         * editing/TypingCommand.cpp:
1233         (WebCore::TypingCommand::markMisspellingsAfterTyping): Reset autocorrection timer after insertion.
1234
1235         * loader/EmptyClients.h:
1236         (WebCore::EmptyEditorClient::showCorrectionPanel): Dummy implementation.
1237         (WebCore::EmptyEditorClient::dismissCorrectionPanel): Ditto
1238
1239         * page/EditorClient.h: Added methods for communication between WebCore and WebKit regarding autocorrection.
1240
1241         * page/Frame.cpp:
1242         (WebCore::Frame::respondToChangedSelection): Remove Replacement marker where we used to only remove Spelling
1243           mark, because whenever we need to remove spelling underline we also should remove autocorrection underline.
1244
1245         * platform/graphics/GraphicsContext.h: Added enum TextCheckingLineStyle to specify the underline
1246           for different type of text checking result. Replaced drawLineForMisspellingOrBadGrammar() with
1247           drawLineForTextChecking(), which allows autocorrection to have different indication from misspelling
1248           and grammatical error.
1249
1250         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1251         (WebCore::GraphicsContext::drawLineForTextChecking): Replaced drawLineForMisspellingOrBadGrammar() with drawLineForTextChecking().
1252
1253         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
1254         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
1255
1256         * platform/graphics/mac/GraphicsContextMac.mm:
1257         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
1258
1259         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
1260         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
1261
1262         * platform/graphics/qt/GraphicsContextQt.cpp:
1263         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
1264
1265         * platform/graphics/skia/GraphicsContextSkia.cpp:
1266         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
1267
1268         * platform/graphics/win/GraphicsContextCGWin.cpp:
1269         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
1270
1271         * platform/graphics/wince/GraphicsContextWince.cpp:
1272         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
1273
1274         * platform/graphics/wx/GraphicsContextWx.cpp:
1275         (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
1276
1277         * rendering/InlineTextBox.cpp:
1278         (WebCore::textCheckingLineStyleForMarkerType): Return line style for a given document marker type.
1279         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):  Replaced drawLineForMisspellingOrBadGrammar() with drawLineForTextChecking().
1280         (WebCore::InlineTextBox::paintDocumentMarkers): Handle new marker value, RejectedCorrection.
1281
1282 2010-09-01  Kinuko Yasuda  <kinuko@google.com>
1283
1284         Reviewed by Adam Barth.
1285
1286         [V8] Support readonly Date attribute
1287         https://bugs.webkit.org/show_bug.cgi?id=43943
1288
1289         Adds Date to non_wrapper_types in CodeGeneratorV8.pm.
1290
1291         New tests will be added for Metadata when we add FileSystem implementation.
1292
1293         * bindings/scripts/CodeGeneratorV8.pm:
1294         * fileapi/Metadata.h:
1295         * fileapi/Metadata.idl:
1296
1297 2010-09-01  Mihai Parparita  <mihaip@chromium.org>
1298
1299         Reviewed by Chris Marrin.
1300
1301         animations/suspend-resume-animation.html does not pass when accelerated compositing is off
1302         https://bugs.webkit.org/show_bug.cgi?id=45057
1303
1304         Fix incorrect logic when resuming the animation (KeyframeAnimation::startAnimation
1305         and RenderLayerBacking::startAnimation return true when running an accelerated
1306         animation).
1307
1308         * page/animation/AnimationBase.cpp:
1309         (WebCore::AnimationBase::updateStateMachine):
1310
1311 2010-09-01  Eric Carlson  <eric.carlson@apple.com>
1312
1313         Reviewed by Darin Adler.
1314
1315         Question mark QuickTime icon when navigating to this MP3 file
1316         https://bugs.webkit.org/show_bug.cgi?id=44846
1317
1318         Do not disable 'tmet' movie tracks, they carry meta data.
1319
1320         No DRT test because I am not sure it is possible to have one of these tracks in 
1321         non-streaming movie. I will add a test later if I figure out how to create a movie.
1322
1323         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1324         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
1325
1326 2010-09-01  Eric Seidel  <eric@webkit.org>
1327
1328         Reviewed by Dimitri Glazkov.
1329
1330         Remove rendering types from SubframeLoader and split RenderEmbeddedObject::updateWidget in preparation for moving to DOM
1331         https://bugs.webkit.org/show_bug.cgi?id=45007
1332
1333         This is just moving around code (and attempting to make it more sane).
1334         I also tried to use more specific types where possible.
1335         The SubframeLoader no longer uses any rendering types in its API.
1336
1337         I split RenderEmbeddedObject::updateWidget into a bunch of functions.
1338         It was obvious before, but now super-obvious after the split that these
1339         new functions do not belong in RenderEmbeddedObject.  Instead they
1340         need to be moved to their respective DOM classes.  I've added FIXMEs
1341         next to each of the functions which should be moved, but I've not moved
1342         any of the logic out of RenderEmbeddedObject.cpp yet in an effort to
1343         keep this patch as simple as possible.
1344
1345         No functional change, thus no tests.
1346
1347         * html/HTMLEmbedElement.cpp:
1348         (WebCore::HTMLEmbedElement::updateWidget):
1349         * html/HTMLFrameElementBase.cpp:
1350         (WebCore::HTMLFrameElementBase::attach):
1351         (WebCore::HTMLFrameElementBase::width):
1352         (WebCore::HTMLFrameElementBase::height):
1353         * html/HTMLFrameOwnerElement.cpp:
1354         (WebCore::HTMLFrameOwnerElement::renderPart):
1355         * html/HTMLFrameOwnerElement.h:
1356         * html/HTMLObjectElement.cpp:
1357         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
1358         (WebCore::HTMLObjectElement::createRenderer):
1359         (WebCore::HTMLObjectElement::updateWidget):
1360         * html/HTMLPlugInElement.cpp:
1361         (WebCore::HTMLPlugInElement::renderEmbeddedObject):
1362         * html/HTMLPlugInElement.h:
1363         * loader/PluginDocument.cpp:
1364         (WebCore::PluginDocumentParser::appendBytes):
1365         * loader/SubframeLoader.cpp:
1366         (WebCore::SubframeLoader::requestObject):
1367         (WebCore::SubframeLoader::document):
1368         (WebCore::SubframeLoader::loadPlugin):
1369         * loader/SubframeLoader.h:
1370         * rendering/RenderEmbeddedObject.cpp:
1371         (WebCore::isNetscapePlugin):
1372         (WebCore::hasFallbackContent):
1373         (WebCore::parametersFromObject):
1374         (WebCore::updateWidgetForObjectElement):
1375         (WebCore::parametersFromEmbed):
1376         (WebCore::updateWidgetForEmbedElement):
1377         (WebCore::updateWidgetForMediaElement):
1378         (WebCore::RenderEmbeddedObject::updateWidget):
1379         * rendering/RenderEmbeddedObject.h:
1380         (WebCore::RenderEmbeddedObject::setHasFallbackContent):
1381         * rendering/RenderLayerCompositor.h:
1382
1383 2010-09-01  Kinuko Yasuda  <kinuko@chromium.org>
1384
1385         Reviewed by Jian Li.
1386
1387         Add more FileError and FileException code for FileWriter and FileSystem API
1388         https://bugs.webkit.org/show_bug.cgi?id=45048
1389
1390         Adding SYNTAX_ERR for FileWriter.
1391         http://dev.w3.org/2009/dap/file-system/file-writer.html
1392
1393         Adding INVALID_STATE_ERR, INVALID_MODIFICATION_ERR and QUOTA_EXCEEDED_ERR for FileSystem.
1394         http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
1395
1396         Adding NO_MODIFICATION_ALLOWED_ERR (to FileException) for both.
1397
1398         * fileapi/FileError.idl:
1399         * fileapi/FileException.idl:
1400
1401 2010-09-01  Mihai Parparita  <mihaip@chromium.org>
1402
1403         Reviewed by Brady Eidson.
1404
1405         popstate event is not fired until document opts in by calling pushstate.
1406         https://bugs.webkit.org/show_bug.cgi?id=41372
1407
1408         Fire popstate even when we don't have a state object when a page is 
1409         loaded (for both regular loads and those from the page cache). Also
1410         fire popstate when doing in-document navigation via fragment changes.
1411         This is consistent with both Gecko and recent the HTML5 spec change:
1412         http://html5.org/tools/web-apps-tracker?from=5376&to=5377
1413
1414         Tests: fast/loader/stateobjects/popstate-fires-on-history-traversal.html
1415                fast/loader/stateobjects/popstate-fires-with-page-cache.html
1416
1417         * bindings/js/SerializedScriptValue.cpp:
1418         * bindings/js/SerializedScriptValue.h:
1419         (WebCore::SerializedScriptValue::create):
1420         * bindings/v8/SerializedScriptValue.cpp:
1421         * bindings/v8/SerializedScriptValue.h:
1422         * dom/Document.cpp:
1423         (WebCore::Document::implicitClose):
1424         * dom/Document.h:
1425         * history/CachedFrame.cpp:
1426         (WebCore::CachedFrameBase::restore):
1427         * loader/FrameLoader.cpp:
1428         (WebCore::FrameLoader::loadInSameDocument):
1429         (WebCore::FrameLoader::transitionToCommitted):
1430         * loader/HistoryController.cpp:
1431         (WebCore::HistoryController::pushState):
1432         (WebCore::HistoryController::replaceState):
1433
1434 2010-09-01  Ryosuke Niwa  <rniwa@webkit.org>
1435
1436         Reviewed by Dimitri Glazkov.
1437
1438         REGRESSION(r66431): WebCore::Editor::selectionStartCSSPropertyValue crashes if no background color is specified
1439         https://bugs.webkit.org/show_bug.cgi?id=45068
1440
1441         The crash was caused by the assumption that every node has an ancestor with some background color,
1442         which was obviously false. Fixed this by adding a null for ancestor.
1443
1444         Test: editing/execCommand/backcolor-crash.html
1445
1446         * editing/Editor.cpp:
1447         (WebCore::Editor::selectionStartCSSPropertyValue):
1448
1449 2010-08-31  Jer Noble  <jer.noble@apple.com>
1450
1451         Reviewed by Darin Adler.
1452
1453         WebKit should not accept PDFs as video.
1454         https://bugs.webkit.org/show_bug.cgi?id=45013
1455         
1456         QuickTime will accept a PDF as the source for a movie, and happily
1457         convert that PDF into a .mov.  WebKit should disable the eat and grip
1458         PDF components which allow this.
1459
1460         Test: http/tests/media/pdf-served-as-pdf.html
1461
1462         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1463         (WebCore::MediaPlayerPrivate::createQTMovie): Add PDF eat and grip
1464         components to the components which are disabled before opening a 
1465         QTMovie.
1466
1467 2010-09-01  Rob Buis  <rwlbuis@gmail.com>
1468
1469         Reviewed by Darin Adler.
1470
1471         Support for Percentage Values in border-radius
1472         https://bugs.webkit.org/show_bug.cgi?id=38354
1473
1474         Support percentage values on the border-radius family
1475         of CSS properties.
1476
1477         * css/CSSComputedStyleDeclaration.cpp:
1478         (WebCore::getBorderRadiusCornerValue):
1479         * css/CSSParser.cpp:
1480         (WebCore::CSSParser::parseValue):
1481         (WebCore::CSSParser::parseBorderRadius):
1482         * css/CSSPrimitiveValue.cpp:
1483         * css/CSSStyleSelector.cpp:
1484         (WebCore::CSSStyleSelector::applyProperty):
1485         * page/animation/AnimationBase.cpp:
1486         (WebCore::AnimationBase::ensurePropertyMap):
1487         * platform/Length.h:
1488         * rendering/RenderObject.cpp:
1489         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1490         * rendering/style/BorderData.h:
1491         (WebCore::BorderData::BorderData):
1492         (WebCore::BorderData::hasBorderRadius):
1493         (WebCore::BorderData::topLeft):
1494         (WebCore::BorderData::topRight):
1495         (WebCore::BorderData::bottomLeft):
1496         (WebCore::BorderData::bottomRight):
1497         * rendering/style/RenderStyle.cpp:
1498         (WebCore::RenderStyle::getBorderRadiiForRect):
1499         (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
1500         * rendering/style/RenderStyle.h:
1501         (WebCore::InheritedFlags::borderTopLeftRadius):
1502         (WebCore::InheritedFlags::borderTopRightRadius):
1503         (WebCore::InheritedFlags::borderBottomLeftRadius):
1504         (WebCore::InheritedFlags::borderBottomRightRadius):
1505         (WebCore::InheritedFlags::setBorderTopLeftRadius):
1506         (WebCore::InheritedFlags::setBorderTopRightRadius):
1507         (WebCore::InheritedFlags::setBorderBottomLeftRadius):
1508         (WebCore::InheritedFlags::setBorderBottomRightRadius):
1509         (WebCore::InheritedFlags::setBorderRadius):
1510         (WebCore::InheritedFlags::initialBorderRadius):
1511
1512 2010-09-01  Andrey Kosyakov  <caseq@chromium.org>
1513
1514         Reviewed by Yury Semikhatsky.
1515
1516         Web Inspector: webInspector.inspectedWindow.evaluate() should not fail if not passed callback.
1517         https://bugs.webkit.org/show_bug.cgi?id=45037
1518
1519         * inspector/front-end/ExtensionAPI.js:
1520         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
1521
1522 2010-09-01  Dave Hyatt  <hyatt@apple.com>
1523
1524         Reviewed by Dan Bernstein and Simon Fraser.
1525
1526         https://bugs.webkit.org/show_bug.cgi?id=44963, overhanging floats aren't positioned properly when they occur
1527         in multi-column layout.  Don't let floats overhang in multi-column blocks, since they are part of the column layout.
1528         
1529         fast/multicol/float-pagination-failure now succeeds, so will rename and move it.
1530
1531         * rendering/RenderBlock.cpp:
1532         (WebCore::RenderBlock::addOverhangingFloats):
1533
1534 2010-08-31  Kenneth Russell  <kbr@google.com>
1535
1536         Reviewed by Simon Fraser.
1537
1538         Add helpers to FloatRect to compute bounding box from points
1539         https://bugs.webkit.org/show_bug.cgi?id=45015
1540
1541         Added fitToPoints, including a few overloaded variants for the
1542         cases of two, three and four points. I opted not to add a
1543         generalized version taking const FloatRect* or Vector<FloatRect>
1544         at the present time because for my own purposes they are
1545         unnecessary, and the specific versions can be more tightly coded.
1546         Also added left() and top() for symmetry with right() and bottom().
1547         These changes have been tested with new code to be added later.
1548
1549         * platform/graphics/FloatRect.cpp:
1550         (WebCore::FloatRect::intersect):
1551         (WebCore::FloatRect::unite):
1552         (WebCore::FloatRect::fitToPoints):
1553         * platform/graphics/FloatRect.h:
1554         (WebCore::FloatRect::left):
1555         (WebCore::FloatRect::top):
1556         (WebCore::FloatRect::setLocationAndSizeFromEdges):
1557
1558 2010-09-01  Anton Muhin  <antonm@chromium.org>
1559
1560         Reviewed by Dimitri Glazkov.
1561
1562         [v8] Use Vector and DEFINE_STATIC_LOCAL instead of plain static array.
1563         https://bugs.webkit.org/show_bug.cgi?id=45040
1564
1565         By code guidelines all the statics should be wrapped into appropriate macro.
1566
1567         * bindings/v8/V8Binding.cpp:
1568         (WebCore::int32ToWebCoreString):
1569
1570 2010-09-01  Alejandro G. Castro  <alex@igalia.com>
1571
1572         Reviewed by Martin Robinson.
1573
1574         [Gtk] very slow page scrolling on big -webkit-box-shadow areas
1575         https://bugs.webkit.org/show_bug.cgi?id=39582
1576
1577         Add a new drawTiledShadow method to render a big shadow doing
1578         tiling of parts of a smaller shadow. We create the minimum shadow
1579         required to get the tiles we will use to render the real shadow
1580         and we use drawPattern with those tiles to create the shadow.
1581
1582         * platform/graphics/GraphicsContext.h:
1583         * platform/graphics/cairo/FontCairo.cpp:
1584         (WebCore::Font::drawGlyphs):
1585         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1586         (WebCore::drawPathShadow):
1587         (WebCore::drawBorderlessRectShadow):
1588         (WebCore::GraphicsContext::fillRect):
1589         (WebCore::GraphicsContext::applyPlatformShadow):
1590         (WebCore::GraphicsContext::createShadowMask):
1591         (WebCore::getPhase):
1592         (WebCore::GraphicsContext::drawTiledShadow):
1593         (WebCore::GraphicsContext::fillRoundedRect):
1594         * platform/graphics/cairo/ImageCairo.cpp:
1595         (WebCore::BitmapImage::draw):
1596
1597 2010-09-01  Andrey Kosyakov  <caseq@chromium.org>
1598
1599         Reviewed by Yury Semikhatsky.
1600
1601         Web Inspector, Extension API: Panel.onSelectionChanged event is never fired
1602         Added command line API to the lexical context of code evaluated by webInspector.inspectedWindow.evaluate()
1603         Fixed webInspector.inspectedWindow.evaluate() to return object rather than its stringified representation
1604         https://bugs.webkit.org/show_bug.cgi?id=44957
1605
1606         Test: inspector/extensions-eval.html
1607
1608         * inspector/front-end/ExtensionAPI.js:
1609         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
1610         * inspector/front-end/ExtensionServer.js:
1611         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
1612
1613 2010-08-27  Philippe Normand  <pnormand@igalia.com>
1614
1615         Reviewed by Xan Lopez.
1616
1617         [GStreamer] ImageGStreamer doesn't need to hold a Cairo surface
1618         https://bugs.webkit.org/show_bug.cgi?id=44757
1619
1620         Pass the cairo surface to the BitmapImage constructor which will
1621         handle its life-cycle.
1622
1623         * platform/graphics/gstreamer/ImageGStreamer.h:
1624         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
1625         (ImageGStreamer::ImageGStreamer):
1626         (ImageGStreamer::~ImageGStreamer):
1627
1628 2010-08-30  Patrick Gansterer  <paroga@paroga.com>
1629
1630          Reviewed by Dirk Schulze.
1631
1632          RenderImage::imageChanged invalidates wrong area
1633          https://bugs.webkit.org/show_bug.cgi?id=43779
1634
1635          Remove RenderImage inheritance from RenderSVGImage, it now inherits from RenderSVGModelObject.
1636
1637          * rendering/RenderSVGImage.cpp:
1638          (WebCore::RenderSVGImage::RenderSVGImage):
1639          (WebCore::RenderSVGImage::~RenderSVGImage):
1640          (WebCore::RenderSVGImage::layout):
1641          (WebCore::RenderSVGImage::paint):
1642          (WebCore::RenderSVGImage::imageChanged):
1643          * rendering/RenderSVGImage.h:
1644          (WebCore::RenderSVGImage::imageResource):
1645          * rendering/RenderSVGModelObject.h:
1646          * svg/SVGImageElement.cpp:
1647
1648 2010-09-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1649
1650         Reviewed by Dirk Schulze.
1651
1652         Add culling to RenderSVGContainer
1653         https://bugs.webkit.org/show_bug.cgi?id=44896
1654
1655         Cache object/strokeBoundingBox and repaintRectInLocalCoordinates() in RenderSVGContainer & RenderSVGRoot, just like it's done in RenderPath.
1656         Propagate boundary changes up the render tree, in layout phase, in order to notify parents that they should update their cached boundaries.
1657
1658         This is a huge speed benefit when interacting with an already layouted document, as there's no need anymore to traverse all children
1659         of any container or <svg> element, just to retrieve the repaint rect.
1660
1661         * rendering/RenderForeignObject.cpp:
1662         (WebCore::RenderForeignObject::layout): Propagate boundary changes to parent, if neeeded.
1663         * rendering/RenderObject.cpp:
1664         (WebCore::RenderObject::setNeedsBoundariesUpdate): Ditto.
1665         * rendering/RenderObject.h:
1666         * rendering/RenderObjectChildList.cpp:
1667         (WebCore::RenderObjectChildList::removeChildNode): Ditto.
1668         * rendering/RenderPath.cpp:
1669         (WebCore::RenderPath::layout): Ditto.
1670         (WebCore::RenderPath::paint): Use new helper function to intersect the paintInfo.rect with the repaintRectInLocalCoordinates().
1671         * rendering/RenderPath.h: Remove styleWillChange(), it's in RenderSVGModelObject now.
1672         (WebCore::RenderPath::setNeedsBoundariesUpdate): Mark as virtual, just like in RenderObject.
1673         * rendering/RenderSVGContainer.cpp:
1674         (WebCore::RenderSVGContainer::RenderSVGContainer): Initialize m_needsBoundariesUpdate to true.
1675         (WebCore::RenderSVGContainer::layout): Only update cached boundaries, if needed, once by traversing the child tree.
1676         (WebCore::RenderSVGContainer::paint): Use new helper function to intersect the paintInfo.rect with the repaintRectInLocalCoordinates().
1677         (WebCore::RenderSVGContainer::updateCachedBoundaries): Ask children for their boundaries, and cache them.
1678         * rendering/RenderSVGContainer.h:
1679         (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate): Set m_needsBoundariesUpdate when called.
1680         (WebCore::RenderSVGContainer::objectBoundingBox): Inlined, just returns a member variable now.
1681         (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
1682         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Ditto.
1683         (WebCore::RenderSVGContainer::calculateLocalTransform): Changed to return a boolean, wheter the transform was modified.
1684         * rendering/RenderSVGGradientStop.h:
1685         (WebCore::RenderSVGGradientStop::strokeBoundingBox): Add missing default implementation, return just FloatRect().
1686         * rendering/RenderSVGHiddenContainer.cpp: Remove repaintRectInLocalCoordinates() override, it's now needed for painting markers.
1687         * rendering/RenderSVGHiddenContainer.h:
1688         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint): Inlined, returning IntRect().
1689         * rendering/RenderSVGImage.cpp:
1690         (WebCore::RenderSVGImage::layout): Propagate boundary changes to parent, if neeeded.
1691         * rendering/RenderSVGRoot.cpp: Cache boundaries here as well, just like in RenderSVGContainer.
1692         (WebCore::RenderSVGRoot::RenderSVGRoot):
1693         (WebCore::RenderSVGRoot::layout):
1694         (WebCore::RenderSVGRoot::updateCachedBoundaries):
1695         * rendering/RenderSVGRoot.h:
1696         (WebCore::RenderSVGRoot::setNeedsBoundariesUpdate):
1697         (WebCore::RenderSVGRoot::setNeedsTransformUpdate):
1698         (WebCore::RenderSVGRoot::objectBoundingBox):
1699         (WebCore::RenderSVGRoot::strokeBoundingBox):
1700         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
1701         * rendering/RenderSVGText.cpp:
1702         (WebCore::RenderSVGText::layout): Propagate boundary changes to parent, if neeeded.
1703         * rendering/RenderSVGTransformableContainer.cpp:
1704         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Return true, if the localTransform changed.
1705         * rendering/RenderSVGTransformableContainer.h:
1706         * rendering/RenderSVGViewportContainer.cpp:
1707         (WebCore::RenderSVGViewportContainer::calcViewport): Propagate boundary changes to parent, if neeeded.
1708         * rendering/SVGRenderSupport.cpp:
1709         (WebCore::SVGRenderSupport::computeContainerBoundingBoxes): Helper function calculating object/strokeBoundingBox and repaintRectInLocalCoordinates in one shot.
1710         (WebCore::SVGRenderSupport::paintInfoIntersectsRepaintRect): Moved from RenderPath to share the culling functionality.
1711         * rendering/SVGRenderSupport.h:
1712
1713 2010-09-01  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1714
1715         Reviewed by Laszlo Gombos.
1716
1717         [Qt] QWebPage::allowGeolocationRequest should be async API
1718         https://bugs.webkit.org/show_bug.cgi?id=41364
1719
1720         Adding GeolocationPermissionClientQt.cpp/h to build script
1721
1722         * WebCore.pro:
1723
1724 2010-09-01  Andreas Kling  <andreas.kling@nokia.com>
1725
1726         Reviewed by Darin Adler.
1727
1728         DOM Selection: collapseToStart() and collapseToEnd() should throw INVALID_STATE_ERR if there's no selection
1729         https://bugs.webkit.org/show_bug.cgi?id=44598
1730
1731         Spec links:
1732         http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapsetostart
1733         http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapsetoend
1734
1735         Test: fast/dom/Selection/collapseToX-empty-selection.html
1736
1737         * page/DOMSelection.cpp:
1738         (WebCore::DOMSelection::collapseToEnd):
1739         (WebCore::DOMSelection::collapseToStart):
1740         * page/DOMSelection.h:
1741         * page/DOMSelection.idl:
1742
1743 2010-09-01  Kinuko Yasuda  <kinuko@chromium.org>
1744
1745         Unreviewed; another build fix.
1746
1747         * WebCore.pri:
1748
1749 2010-09-01  Kinuko Yasuda  <kinuko@chromium.org>
1750
1751         Unreviewed; qt build fix.
1752
1753         * CMakeLists.txt:
1754
1755 2010-08-31  Kinuko Yasuda  <kinuko@chromium.org>
1756
1757         Reviewed by Adam Barth.
1758
1759         Move FileSystem related files from WebCore/html to WebCore/fileapi.
1760         https://bugs.webkit.org/show_bug.cgi?id=44925
1761
1762         No new tests; there should be no functional changes.
1763
1764         * CMakeLists.txt:
1765         * GNUmakefile.am:
1766         * WebCore.gypi:
1767         * WebCore.pro:
1768         * WebCore.vcproj/WebCore.vcproj:
1769         * WebCore.xcodeproj/project.pbxproj:
1770         * fileapi/DOMFilePath.cpp: Renamed from WebCore/storage/DOMFilePath.cpp.
1771         * fileapi/DOMFilePath.h: Renamed from WebCore/storage/DOMFilePath.h.
1772         * fileapi/DOMFileSystem.cpp: Renamed from WebCore/storage/DOMFileSystem.cpp.
1773         * fileapi/DOMFileSystem.h: Renamed from WebCore/storage/DOMFileSystem.h.
1774         * fileapi/DOMFileSystem.idl: Renamed from WebCore/storage/DOMFileSystem.idl.
1775         * fileapi/DirectoryEntry.cpp: Renamed from WebCore/storage/DirectoryEntry.cpp.
1776         * fileapi/DirectoryEntry.h: Renamed from WebCore/storage/DirectoryEntry.h.
1777         * fileapi/DirectoryEntry.idl: Renamed from WebCore/storage/DirectoryEntry.idl.
1778         * fileapi/DirectoryReader.cpp: Renamed from WebCore/storage/DirectoryReader.cpp.
1779         * fileapi/DirectoryReader.h: Renamed from WebCore/storage/DirectoryReader.h.
1780         * fileapi/DirectoryReader.idl: Renamed from WebCore/storage/DirectoryReader.idl.
1781         * fileapi/EntriesCallback.h: Renamed from WebCore/storage/EntriesCallback.h.
1782         * fileapi/EntriesCallback.idl: Renamed from WebCore/storage/EntriesCallback.idl.
1783         * fileapi/Entry.cpp: Renamed from WebCore/storage/Entry.cpp.
1784         * fileapi/Entry.h: Renamed from WebCore/storage/Entry.h.
1785         * fileapi/Entry.idl: Renamed from WebCore/storage/Entry.idl.
1786         * fileapi/EntryArray.cpp: Renamed from WebCore/storage/EntryArray.cpp.
1787         * fileapi/EntryArray.h: Renamed from WebCore/storage/EntryArray.h.
1788         * fileapi/EntryArray.idl: Renamed from WebCore/storage/EntryArray.idl.
1789         * fileapi/EntryCallback.h: Renamed from WebCore/storage/EntryCallback.h.
1790         * fileapi/EntryCallback.idl: Renamed from WebCore/storage/EntryCallback.idl.
1791         * fileapi/ErrorCallback.h: Renamed from WebCore/storage/ErrorCallback.h.
1792         * fileapi/ErrorCallback.idl: Renamed from WebCore/storage/ErrorCallback.idl.
1793         * fileapi/FileEntry.cpp: Renamed from WebCore/storage/FileEntry.cpp.
1794         * fileapi/FileEntry.h: Renamed from WebCore/storage/FileEntry.h.
1795         * fileapi/FileEntry.idl: Renamed from WebCore/storage/FileEntry.idl.
1796         * fileapi/FileSystemCallback.h: Renamed from WebCore/storage/FileSystemCallback.h.
1797         * fileapi/FileSystemCallback.idl: Renamed from WebCore/storage/FileSystemCallback.idl.
1798         * fileapi/FileSystemCallbacks.cpp: Renamed from WebCore/storage/FileSystemCallbacks.cpp.
1799         * fileapi/FileSystemCallbacks.h: Renamed from WebCore/storage/FileSystemCallbacks.h.
1800         * fileapi/Flags.h: Renamed from WebCore/storage/Flags.h.
1801         * fileapi/Flags.idl: Renamed from WebCore/storage/Flags.idl.
1802         * fileapi/LocalFileSystem.cpp: Renamed from WebCore/storage/LocalFileSystem.cpp.
1803         * fileapi/LocalFileSystem.h: Renamed from WebCore/storage/LocalFileSystem.h.
1804         * fileapi/Metadata.h: Renamed from WebCore/storage/Metadata.h.
1805         * fileapi/Metadata.idl: Renamed from WebCore/storage/Metadata.idl.
1806         * fileapi/MetadataCallback.h: Renamed from WebCore/storage/MetadataCallback.h.
1807         * fileapi/MetadataCallback.idl: Renamed from WebCore/storage/MetadataCallback.idl.
1808
1809 2010-08-31  Nikolas Zimmermann  <nzimmermann@rim.com>
1810
1811         Reviewed by Dirk Schulze.
1812
1813         Prepare RenderSVGContainer culling patch
1814         https://bugs.webkit.org/show_bug.cgi?id=44955
1815
1816         Add styleWillChange methods for all SVG renderers, that call setNeedsBoundariesUpdate().
1817         It's currently a no-op, but will be used once the containers cache their boundaries, which
1818         happens in a follow-up patch.
1819
1820         * rendering/RenderSVGBlock.cpp:
1821         (WebCore::RenderSVGBlock::styleWillChange): Call setNeedsBoundariesUpdate().
1822         * rendering/RenderSVGBlock.h:
1823         * rendering/RenderSVGImage.cpp:
1824         (WebCore::RenderSVGImage::styleWillChange): Ditto.
1825         * rendering/RenderSVGImage.h:
1826         * rendering/RenderSVGInline.cpp:
1827         (WebCore::RenderSVGInline::styleWillChange): Ditto.
1828         * rendering/RenderSVGInline.h:
1829         * rendering/RenderSVGModelObject.cpp:
1830         (WebCore::RenderSVGModelObject::styleWillChange): Ditto.
1831         * rendering/RenderSVGModelObject.h:
1832         * rendering/RenderSVGRoot.cpp:
1833         (WebCore::RenderSVGRoot::styleWillChange): Ditto.
1834         * rendering/RenderSVGRoot.h:
1835         * rendering/SVGRenderSupport.cpp:
1836         (WebCore::SVGRenderSupport::computeContainerBoundingBox): Skip hidden containers, not necessary to traverse them.
1837         * rendering/style/SVGRenderStyle.cpp:
1838         (WebCore::SVGRenderStyle::diff): svg-shadow changes need to cause relayouts, not only repaints, once container bounds are cached.
1839
1840 2010-08-31  Justin Garcia  <justin.garcia@apple.com>
1841
1842         Reviewed by Dan Bernstein.
1843         
1844         https://bugs.webkit.org/show_bug.cgi?id=44915
1845         Need to handle CSSValueAuto in CSSPrimitiveValue::operator ETextAlign()
1846         
1847         * css/CSSPrimitiveValueMappings.h:
1848         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map TAAUTO to -webkit-auto.  "auto" is
1849         not a valid text-align value.  We use TAAUTO internally for the nameless value that acts
1850         as left if direction:ltr and right for direction:rtl.
1851
1852 2010-08-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1853
1854         Reviewed by Martin Robinson.
1855
1856         [EFL] Add PlatformVideoWindowEfl.cpp for WebKit EFL
1857         https://bugs.webkit.org/show_bug.cgi?id=44508
1858
1859         Add PlatformVideoWindowEfl.cpp in order to use gstreamer by 
1860         WebKit EFL.
1861
1862         * platform/graphics/gstreamer/PlatformVideoWindow.h:
1863         (WebCore::PlatformVideoWindow::window):
1864         (WebCore::PlatformVideoWindow::videoWindowId):
1865         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Added.
1866         (PlatformVideoWindow::PlatformVideoWindow):
1867         (PlatformVideoWindow::~PlatformVideoWindow):
1868         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Include <gtk/gtk.h> directly.
1869
1870 2010-08-31  Dave Hyatt  <hyatt@apple.com>
1871
1872         Reviewed by Sam Weinig.
1873
1874         https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
1875         the former can occur in more places without having to do the latter.
1876
1877         * WebCore.exp.in:
1878         * page/FocusController.cpp:
1879         (WebCore::FocusController::setActive):
1880         * page/Frame.cpp:
1881         (WebCore::Frame::Frame):
1882         * page/Frame.h:
1883         * page/FrameView.cpp:
1884         (WebCore::FrameView::enterCompositingMode):
1885         (WebCore::FrameView::layout):
1886         (WebCore::FrameView::needsLayout):
1887         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
1888         * page/FrameView.h:
1889         * page/Page.cpp:
1890         (WebCore::Page::scheduleForcedStyleRecalcForAllPages):
1891         * page/Page.h:
1892         * page/Settings.cpp:
1893         (WebCore::setNeedsRecalcStyleInAllFrames):
1894         (WebCore::setLoadsImagesAutomaticallyInAllFrames):
1895         (WebCore::Settings::setStandardFontFamily):
1896         (WebCore::Settings::setFixedFontFamily):
1897         (WebCore::Settings::setSerifFontFamily):
1898         (WebCore::Settings::setSansSerifFontFamily):
1899         (WebCore::Settings::setCursiveFontFamily):
1900         (WebCore::Settings::setFantasyFontFamily):
1901         (WebCore::Settings::setMinimumFontSize):
1902         (WebCore::Settings::setMinimumLogicalFontSize):
1903         (WebCore::Settings::setDefaultFontSize):
1904         (WebCore::Settings::setDefaultFixedFontSize):
1905         (WebCore::Settings::setLoadsImagesAutomatically):
1906         (WebCore::Settings::setTextAreasAreResizable):
1907         (WebCore::Settings::setAuthorAndUserStylesEnabled):
1908         (WebCore::Settings::setFontRenderingMode):
1909         (WebCore::Settings::setZoomMode):
1910         (WebCore::Settings::setAcceleratedCompositingEnabled):
1911         (WebCore::Settings::setShowDebugBorders):
1912         (WebCore::Settings::setShowRepaintCounter):
1913         * rendering/RenderTheme.cpp:
1914         (WebCore::RenderTheme::platformColorsDidChange):
1915
1916 2010-08-31  Jeremy Moskovich  <jeremy@chromium.org>
1917
1918         Reviewed by Dimitri Glazkov.
1919
1920         Unfork Chromium's FontPlatformDataChromiumMac.mm.
1921
1922         Modified FontPlatformDataCocoa to provide hooks needed by Chromium.
1923         Moved Chromium's mechanics for OOP font loading to CrossProcessFontLoading.mm.
1924         Added ::create() function to MemoryActivatedFont to match new guidelines for
1925         RefCounted<> classes.
1926
1927         Not possible to test due to sandbox interaction.
1928
1929         * WebCore.gypi: Update files for chromium build.
1930         * platform/graphics/chromium/CrossProcessFontLoading.h: Added.
1931         (WebCore::MemoryActivatedFont::cgFont):
1932         (WebCore::MemoryActivatedFont::atsFontRef):
1933         * platform/graphics/chromium/CrossProcessFontLoading.mm: Added.
1934         (WebCore::MemoryActivatedFont::create):
1935         (WebCore::MemoryActivatedFont::MemoryActivatedFont):
1936         (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
1937         (WebCore::FontPlatformData::loadFont):
1938         * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Removed.
1939         * platform/graphics/cocoa/FontPlatformData.h:
1940         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1941         (WebCore::FontPlatformData::loadFont):
1942         (WebCore::FontPlatformData::FontPlatformData):
1943         (WebCore::FontPlatformData::operator=):
1944         (WebCore::FontPlatformData::setFont):
1945
1946 2010-08-31  Martin Robinson  <mrobinson@igalia.com>
1947
1948         Reviewed by Adam Barth.
1949
1950         [GTK] warning: unused variable "queryResult"
1951         https://bugs.webkit.org/show_bug.cgi?id=44998
1952
1953         No new tests as functionality has not changed.
1954
1955         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1956         (WebCore::GStreamerGWorld::enterFullscreen): Move queryResult within the gstreamer
1957         version guards, where it is used.
1958
1959 2010-08-31  Dave Hyatt  <hyatt@apple.com>
1960
1961         Reviewed by Adam Roben.
1962
1963         Refinement to previous checkin for pagination of block-level replaced elements.  Don't bother to
1964         paginate floating block-level replaced elements for now.
1965
1966         Added fast/multicol/float-pagination-failure.html
1967
1968         * rendering/RenderBlock.cpp:
1969         (WebCore::RenderBlock::paintChildren):
1970
1971 2010-08-31  Kinuko Yasuda  <kinuko@chromium.org>
1972
1973         Reviewed by Jian Li.
1974
1975         Add LocalFileSystem.requestFileSystem interface to DOMWindow
1976         https://bugs.webkit.org/show_bug.cgi?id=44734
1977
1978         No new tests; tests will be added later.
1979
1980         * bindings/generic/RuntimeEnabledFeatures.cpp:
1981         * bindings/generic/RuntimeEnabledFeatures.h:
1982         (WebCore::RuntimeEnabledFeatures::fileSystemEnabled):
1983         (WebCore::RuntimeEnabledFeatures::setFileSystemEnabled):
1984         (WebCore::RuntimeEnabledFeatures::requestFileSystemEnabled):
1985         * page/DOMWindow.cpp:
1986         (WebCore::DOMWindow::requestFileSystem):
1987         * page/DOMWindow.h:
1988         (WebCore::DOMWindow::):
1989         * page/DOMWindow.idl:
1990         * page/Settings.cpp:
1991         (WebCore::Settings::setFileSystemRootPath):
1992         * page/Settings.h:
1993         (WebCore::Settings::fileSystemRootPath):
1994
1995 2010-08-31  Kwang Yul Seo  <skyul@company100.net>
1996
1997         Reviewed by Adam Barth.
1998
1999         [BREWMP] Add PLATFORM(BREWMP) guard to PluginViewNone
2000         https://bugs.webkit.org/show_bug.cgi?id=44768
2001
2002         Build fix. Add PLATFORM(BREWMP) guard to add dummy PluginView::privateBrowsingStateChanged
2003         and PluginView::setJavaScriptPaused.
2004
2005         * plugins/PluginViewNone.cpp:
2006
2007 2010-08-31  Alexey Proskuryakov  <ap@apple.com>
2008
2009         Reviewed by Adam Barth.
2010
2011         https://bugs.webkit.org/show_bug.cgi?id=40947
2012         <rdar://problem/8124723> REGRESSION (r57544): XMLHttpRequest POSTed multipart/form-data
2013         wrongfully gets a charset appended
2014
2015         Test: http/tests/xmlhttprequest/post-with-boundary.html
2016
2017         * xml/XMLHttpRequest.cpp:
2018         (WebCore::replaceCharsetInMediaType): Changed to only set charset if it was already present,
2019         and never append.
2020         (WebCore::XMLHttpRequest::send): Updated for replaceCharsetInMediaType renaming.
2021
2022 2010-08-31  Daniel Cheng  <dcheng@chromium.org>
2023
2024         Reviewed by Tony Chang.
2025
2026         [chromium] Implement Readable/Writable versions of ChromiumDataObjectNew
2027         https://bugs.webkit.org/show_bug.cgi?id=44917
2028
2029         This is the second of several patches to update Chromium to support
2030         arbitrary data types in event.dataTransfer.
2031         ReadableDataObject simply calls through to several Chromium IPCs to
2032         retrieve the appropriate data.
2033         WritableDataObject ostensibly buffers arbitrary data internally until
2034         a call is made to flush the data to the platform-specific abstraction;
2035         unfortunately, a special exception is currently made for pasteboard
2036         handling due to how it is handled in WebCore.
2037
2038         No new tests.
2039
2040         * WebCore.gypi:
2041         * platform/chromium/ChromiumDataObjectNew.h: Removed.
2042         * platform/chromium/ClipboardChromium.cpp:
2043         * platform/chromium/ClipboardMimeTypes.cpp: Added.
2044         * platform/chromium/ClipboardMimeTypes.h: Added.
2045         * platform/chromium/ReadableDataObject.cpp: Added.
2046         (WebCore::clipboardBuffer):
2047         (WebCore::ReadableDataObject::create):
2048         (WebCore::ReadableDataObject::ReadableDataObject):
2049         (WebCore::ReadableDataObject::hasData):
2050         (WebCore::ReadableDataObject::types):
2051         (WebCore::ReadableDataObject::getData):
2052         (WebCore::ReadableDataObject::getURL):
2053         (WebCore::ReadableDataObject::getHTML):
2054         (WebCore::ReadableDataObject::hasFilenames):
2055         (WebCore::ReadableDataObject::filenames):
2056         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
2057         * platform/chromium/ReadableDataObject.h: Added.
2058         * platform/chromium/WritableDataObject.cpp: Added.
2059         (WebCore::WritableDataObject::create):
2060         (WebCore::WritableDataObject::WritableDataObject):
2061         (WebCore::WritableDataObject::clearData):
2062         (WebCore::WritableDataObject::clearAllExceptFiles):
2063         (WebCore::WritableDataObject::clearAll):
2064         (WebCore::WritableDataObject::setData):
2065         (WebCore::WritableDataObject::setURL):
2066         (WebCore::WritableDataObject::setHTML):
2067         (WebCore::WritableDataObject::dataMap):
2068         (WebCore::WritableDataObject::urlTitle):
2069         (WebCore::WritableDataObject::htmlBaseURL):
2070         (WebCore::WritableDataObject::fileExtension):
2071         (WebCore::WritableDataObject::fileContentFilename):
2072         (WebCore::WritableDataObject::fileContent):
2073         (WebCore::WritableDataObject::setFileExtension):
2074         (WebCore::WritableDataObject::setFileContentFilename):
2075         (WebCore::WritableDataObject::setFileContent):
2076         * platform/chromium/WritableDataObject.h: Added.
2077
2078 2010-08-31  Darin Adler  <darin@apple.com>
2079
2080         Reviewed by Sam Weinig.
2081
2082         Null-deref when decoding web archive with no data key in LegacyWebArchive::createResource
2083         https://bugs.webkit.org/show_bug.cgi?id=45000
2084
2085         Test: webarchive/loading/missing-data.html
2086
2087         * loader/archive/cf/LegacyWebArchive.cpp:
2088         (WebCore::LegacyWebArchive::createResource): Use wrapCFData instead of CFDataGetBytePtr/GetLength,
2089         which is both more efficient, and can handle null. Also fixed incorrect use of ParsedURLString,
2090         since the string is coming from a file and so there are no guarantees about its format.
2091
2092 2010-08-31  Kenneth Russell  <kbr@google.com>
2093
2094         Reviewed by Chris Marrin.
2095
2096         Add length and related operations to FloatPoint and FloatSize
2097         https://bugs.webkit.org/show_bug.cgi?id=44994
2098
2099         Added length and squared length operations to both FloatPoint and
2100         FloatSize, and added set(x, y), dot and normalize operations to
2101         FloatPoint. These changes have been tested with new code to be
2102         added later.
2103
2104         * platform/graphics/FloatPoint.cpp:
2105         (WebCore::FloatPoint::normalize):
2106         (WebCore::FloatPoint::length):
2107         * platform/graphics/FloatPoint.h:
2108         (WebCore::FloatPoint::set):
2109         (WebCore::FloatPoint::dot):
2110         (WebCore::FloatPoint::lengthSquared):
2111         (WebCore::operator*):
2112         * platform/graphics/FloatSize.cpp:
2113         (WebCore::FloatSize::diagonalLength):
2114         * platform/graphics/FloatSize.h:
2115         (WebCore::FloatSize::diagonalLengthSquared):
2116
2117 2010-08-31  Zhenyao Mo  <zmo@google.com>
2118
2119         Reviewed by Kenneth Russell.
2120
2121         gl-teximage.html and tex-image-and-sub-image-2d-with-image.html failed on Chromium Mac bots (10.5)
2122         https://bugs.webkit.org/show_bug.cgi?id=44993
2123
2124         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2125         (WebCore::GraphicsContext3D::getImageData): Take into consideration the source image pixel row alignment.
2126
2127 2010-08-31  Patrick Gansterer  <paroga@paroga.com>
2128
2129         Reviewed by Kenneth Rohde Christiansen.
2130
2131         [CMake] Unify GENERATE_DOM_NAMES code
2132         https://bugs.webkit.org/show_bug.cgi?id=44842
2133
2134         * CMakeLists.txt: Added property svn:eol-style.
2135
2136 2010-08-31  Beth Dakin  <bdakin@apple.com>
2137
2138         Rubber-stamped by Dan Bernstein..
2139
2140         Variable name change. m_shouldFirePostLayoutTimer is now 
2141         m_hasPendingPostLayoutTasks
2142
2143         * page/FrameView.cpp:
2144         (WebCore::FrameView::FrameView):
2145         (WebCore::FrameView::~FrameView):
2146         (WebCore::FrameView::reset):
2147         (WebCore::FrameView::layout):
2148         (WebCore::FrameView::performPostLayoutTasks):
2149         * page/FrameView.h:
2150
2151 2010-08-31  Beth Dakin  <bdakin@apple.com>
2152
2153         Reviewed by Dave Hyatt.
2154
2155         Fix for https://bugs.webkit.org/show_bug.cgi?id=44828 FrameView 
2156         should make more calls to postLayoutTasks() using the timer
2157         -and corresponding-
2158         <rdar://problem/8064938>
2159
2160         This change only allows synchronous calls to postLayoutTasks() if 
2161         we are not already in a synchronous call to postLayoutTasks(). 
2162         Furthermore, it de-couples the notion of "the post layout timer 
2163         should fire" from m_postLayoutTasksTimer.isActive(), instead using 
2164         a boolean to track the need to use the timer.
2165
2166         * page/FrameView.cpp:
2167         (WebCore::FrameView::FrameView):
2168         (WebCore::FrameView::~FrameView):
2169         (WebCore::FrameView::reset):
2170         (WebCore::FrameView::layout):
2171         (WebCore::FrameView::unscheduleRelayout):
2172         (WebCore::FrameView::performPostLayoutTasks):
2173         * page/FrameView.h:
2174
2175 2010-08-30  Anders Carlsson  <andersca@apple.com>
2176
2177         Reviewed by Sam Weinig.
2178
2179         Fix 32-bit WebKit2 build.
2180
2181         * WebCore.exp.in:
2182
2183 2010-08-31  Nate Chapin  <japhet@chromium.org>
2184
2185         Reviewed by Darin Fisher.
2186
2187         Regression in r63528: Custom http headers for loads of type
2188         FrameLoadTypeReloadFromOrigin are not being correctly
2189         propagated to subresource loads.
2190
2191         https://bugs.webkit.org/show_bug.cgi?id=44987
2192
2193         No tests, since DRT doesn't seem to have a way to trigger a
2194         FrameLoadTypeReloadFromOrigin load.
2195
2196         * loader/FrameLoader.cpp:
2197         (WebCore::FrameLoader::addExtraFieldsToRequest):
2198
2199 2010-08-31  Sam Weinig  <sam@webkit.org>
2200
2201         Reviewed by Darin Adler.
2202
2203         Add ability to count text matches without marking
2204         https://bugs.webkit.org/show_bug.cgi?id=43996
2205
2206         Safari needs to be able to count text matches without triggering lots of repainting.
2207         Rename markAllMatchesForText() to countMatchesForText() and add a markMatches parameter.
2208
2209         * WebCore.exp.in:
2210         * page/Frame.cpp:
2211         (WebCore::Frame::countMatchesForText):
2212         * page/Frame.h:
2213         * page/Page.cpp:
2214         (WebCore::Page::markAllMatchesForText):
2215
2216 2010-08-31  Eric Carlson  <eric.carlson@apple.com>
2217
2218         Reviewed by Darin Adler.
2219
2220         canPlayType("application/octet-stream") must return ""
2221         https://bugs.webkit.org/show_bug.cgi?id=44985
2222
2223         * platform/graphics/MediaPlayer.cpp:
2224         (WebCore::MediaPlayer::supportsType): Always return IsNotSupported for application/octet-stream
2225
2226 2010-08-31  Martin Robinson  <mrobinson@igalia.com>
2227
2228         Reviewed by Gustavo Noronha Silva.
2229
2230         [GTK] ScrollbarThemeGtk should respond to theme changes
2231         https://bugs.webkit.org/show_bug.cgi?id=44782
2232
2233         Scrollbar is currently written with the assumption that scrollbars never change
2234         thickness. In GTK+ changing the current theme can alter scrollbar thickness. This
2235         change manually resizes interior frame scrollbar widgets when the GTK+ theme changes.
2236         Since we are now tracking style changes, we may also cache theme properties to avoid
2237         having to call moz_gtk_get_scrollbar_metrics repeatedly during rendering.
2238
2239         * platform/gtk/RenderThemeGtk.cpp:
2240         (WebCore::RenderThemeGtk::gtkScrollbar): Added accessor for the Mozilla theming code's
2241         scrollbar widget. We access it here, because RenderThemGtk takes care of initializing
2242         the Mozilla code.
2243         * platform/gtk/RenderThemeGtk.h: Added accessor declaration.
2244         * platform/gtk/ScrollbarThemeGtk.cpp:
2245         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Update the style property cache during construction.
2246         (WebCore::ScrollbarThemeGtk::registerScrollbar): Track all interior frame scrollbars.
2247         (WebCore::ScrollbarThemeGtk::unregisterScrollbar): Ditto.
2248         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Added this method which updates the style cache.
2249         (WebCore::gtkStyleSetCallback): Added this signal handler for when the style changes.
2250         (WebCore::ScrollbarThemeGtk::backButtonRect): Use the style cache instead of calling moz_gtk_get_scrollbar_metrics.
2251         (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
2252         (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
2253         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
2254         (WebCore::ScrollbarThemeGtk::thumbRect): Ditto.
2255         (WebCore::ScrollbarThemeGtk::paint): Ditto.
2256         (WebCore::ScrollbarThemeGtk::scrollbarThickness): Ditto.
2257         (WebCore::ScrollbarThemeGtk::buttonSize): Ditto.
2258         (WebCore::ScrollbarThemeGtk::minimumThumbLength): Ditto.
2259         * platform/gtk/ScrollbarThemeGtk.h: Added new method declarations.
2260
2261 2010-08-31  Darin Adler  <darin@apple.com>
2262
2263         Reviewed by Anders Carlsson.
2264
2265         Web archives are created with a size of 0 due to PassRefPtr mistake
2266         https://bugs.webkit.org/show_bug.cgi?id=44984
2267         rdar://problem/8042283
2268
2269         * loader/archive/ArchiveResource.cpp:
2270         (WebCore::ArchiveResource::ArchiveResource): Merge the three constructors into one.
2271         (WebCore::ArchiveResource::create): Merge the two create functions into one, and
2272         fix the logic so there is no use of a PassRefPtr after it has been passed.
2273         * loader/archive/ArchiveResource.h: Use default arguments instead of overloading
2274         to cut down from three create functions to two. Remove two of the constructors.
2275
2276 2010-08-31  Jian Li  <jianli@chromium.org>
2277
2278         Reviewed by David Levin.
2279
2280         Expose WorkerContext.createBlobURL and WorkerContext.revokeBlobURL.
2281         https://bugs.webkit.org/show_bug.cgi?id=44972
2282
2283         Test: fast/files/workers/worker-apply-blob-url-to-xhr.html
2284
2285         * page/SecurityOrigin.cpp:
2286         (WebCore::SecurityOrigin::canRequest):
2287         * workers/WorkerContext.cpp:
2288         (WebCore::WorkerContext::createBlobURL):
2289         (WebCore::WorkerContext::revokeBlobURL):
2290         * workers/WorkerContext.h:
2291         * workers/WorkerContext.idl:
2292
2293 2010-08-31  Darin Adler  <darin@apple.com>
2294
2295         Reviewed by Anders Carlsson.
2296
2297         * editing/TextIterator.cpp:
2298         (WebCore::TextIterator::handleTextBox):
2299         Added a cast so we can mix int and unsigned in a single ?: expression.
2300         This warns with clang, but strangely not with gcc.
2301
2302         * html/parser/HTMLTreeBuilder.cpp: Removed unused functions.
2303         The clang compiler notices and complains about these. If we need them
2304         later we should use Subversion to bring them back.
2305
2306 2010-08-31  Kenneth Russell  <kbr@google.com>
2307
2308         Reviewed by Simon Fraser.
2309
2310         Add cross product and arithmetic operations to FloatPoint3D
2311         https://bugs.webkit.org/show_bug.cgi?id=44970
2312
2313         Added set, move, and scale operations similar to FloatPoint's,
2314         addition and subtraction operators, length, lengthSquared and
2315         cross product. These changes have been tested with new code to be
2316         added later.
2317
2318         * platform/graphics/FloatPoint3D.cpp:
2319         (WebCore::FloatPoint3D::normalize):
2320         (WebCore::FloatPoint3D::length):
2321         * platform/graphics/FloatPoint3D.h:
2322         (WebCore::FloatPoint3D::set):
2323         (WebCore::FloatPoint3D::move):
2324         (WebCore::FloatPoint3D::scale):
2325         (WebCore::FloatPoint3D::dot):
2326         (WebCore::FloatPoint3D::cross):
2327         (WebCore::FloatPoint3D::lengthSquared):
2328         (WebCore::operator +=):
2329         (WebCore::operator -=):
2330         (WebCore::operator+):
2331         (WebCore::operator-):
2332         (WebCore::operator*):
2333
2334 2010-08-31  Martin Robinson  <mrobinson@igalia.com>
2335
2336         Reviewed by Gustavo Noronha Silva.
2337
2338         [GTK] Isolate all GTK+ typedefs into one file
2339         https://bugs.webkit.org/show_bug.cgi?id=44900
2340
2341         * platform/graphics/gtk/CairoUtilities.h: Remove GTK+ typedefs.
2342         * platform/gtk/ClipboardGtk.h: Ditto.
2343         * platform/gtk/DataObjectGtk.h: Ditto.
2344         * platform/gtk/GOwnPtrGtk.h: Ditto.
2345         * platform/gtk/GRefPtrGtk.h: Ditto.
2346         * platform/gtk/PasteboardHelper.h: Ditto.
2347         * platform/gtk/PopupMenuGtk.h: Ditto.
2348         * platform/gtk/RenderThemeGtk.h: Ditto.
2349         * platform/gtk/ScrollbarGtk.h: Ditto.
2350         * platform/gtk/gtk2drawing.c: Remove unused Assertions.h.
2351
2352 2010-08-31  Tony Chang  <tony@chromium.org>
2353
2354         Unreviewed, fix chromium compile.
2355
2356         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
2357
2358 2010-08-31  Chris Rogers  <crogers@google.com>
2359
2360         Reviewed by Kenneth Russell.
2361
2362         audio engine: add FFTConvolver class
2363         https://bugs.webkit.org/show_bug.cgi?id=34907
2364
2365         No new tests since audio API is not yet implemented.
2366
2367         * platform/audio: Added.
2368         * platform/audio/FFTConvolver.cpp: Added.
2369         (WebCore::FFTConvolver::FFTConvolver):
2370         (WebCore::FFTConvolver::process):
2371         (WebCore::FFTConvolver::reset):
2372         * platform/audio/FFTConvolver.h: Added.
2373         (WebCore::FFTConvolver::fftSize):
2374
2375 2010-08-31  Jian Li  <jianli@chromium.org>
2376
2377         Reviewed by Darin Fisher and David Levin.
2378
2379         Fix ThreadableBlobRegistry methods not to rely on WorkerContext.
2380         https://bugs.webkit.org/show_bug.cgi?id=44971
2381
2382         We could hit an ASSERT when we're performing some blob related cleanup
2383         in ScriptExecutionContext destructor when WorkerContext dies. The fix
2384         is to use isMainThread and callOnMainThread.
2385
2386         * fileapi/ThreadableBlobRegistry.cpp:
2387         (WebCore::BlobRegistryContext::BlobRegistryContext):
2388         (WebCore::registerBlobURLTask):
2389         (WebCore::ThreadableBlobRegistry::registerBlobURL):
2390         (WebCore::registerBlobURLFromTask):
2391         (WebCore::unregisterBlobURLTask):
2392         (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
2393
2394 2010-08-31  Martin Robinson  <mrobinson@igalia.com>
2395
2396         Reviewed by Gustavo Noronha Silva.
2397
2398         [GTK] Fix 'make dist' in preparation of the 1.3.3 release
2399         https://bugs.webkit.org/show_bug.cgi?id=44978
2400
2401         * GNUmakefile.am: Add missing and moved headers to the sources list.
2402
2403 2010-08-31  Ryuan Choi  <ryuan.choi@samsung.com>
2404
2405         Reviewed by Antonio Gomes.
2406
2407         [EFL] crashes while dragging any contents
2408         https://bugs.webkit.org/show_bug.cgi?id=44940
2409
2410         Fix crashes caused by returning newly assigned value instead of adoptRef
2411         value.
2412
2413         * page/efl/EventHandlerEfl.cpp:
2414         (WebCore::EventHandler::createDraggingClipboard):
2415         * platform/efl/ClipboardEfl.cpp:
2416         (WebCore::Editor::newGeneralClipboard):
2417         * platform/efl/ClipboardEfl.h:
2418         (WebCore::ClipboardEfl::create):
2419
2420 2010-08-31  Ilya Tikhonovsky  <loislo@chromium.org>
2421
2422         Reviewed by Yury Semikhatsky.
2423
2424         WebInspector: The parser of Inspector protocol messages should be covered by a test.
2425
2426         The inspector protocol is based on messages in JSON format.
2427         Each message should be a JSON object with a number of properties.
2428         InspectorBackendDispatcher is parsing these messages and should be
2429         able to detect wrong formatted messages.
2430         It has these functionality but no tests for it.
2431
2432         https://bugs.webkit.org/show_bug.cgi?id=44947
2433
2434
2435         * inspector/CodeGeneratorInspector.pm:
2436
2437 2010-08-31  Anton Muhin  <antonm@chromium.org>
2438
2439         Reviewed by Adam Barth.
2440
2441         [v8] More correct and faster error handling when converting v8 objects to various WebCore strings
2442         https://bugs.webkit.org/show_bug.cgi?id=44678
2443
2444         Split v8 object conversion into two phase: 1st, which can throw an exception, and
2445         2nd, which must always succeed.  That allows to report correctly the case when exception
2446         happens.
2447
2448         * bindings/scripts/CodeGeneratorV8.pm:
2449         * bindings/v8/V8Binding.cpp:
2450         (WebCore::int32ToWebCoreString):
2451         (WebCore::v8NonStringValueToWebCoreString):
2452         * bindings/v8/V8Binding.h:
2453         (WebCore::V8ParameterBase::operator String):
2454         (WebCore::V8ParameterBase::operator AtomicString):
2455         (WebCore::V8ParameterBase::V8ParameterBase):
2456         (WebCore::V8ParameterBase::prepareBase):
2457         (WebCore::V8ParameterBase::object):
2458         (WebCore::V8ParameterBase::setString):
2459         (WebCore::V8ParameterBase::toString):
2460         (WebCore::):
2461         (WebCore::::prepare):
2462         * bindings/v8/custom/V8BindingMacros.h:
2463         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
2464         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
2465         * bindings/v8/cstom/V8DeviceOrientationEventCustom.cpp:
2466         (WebCore::V8DeviceMotionEvent::initDeviceOrientationEventCallback):
2467
2468 2010-08-30  Ilya Tikhonovsky  <loislo@chromium.org>
2469
2470         Reviewed by Joseph Pecoraro.
2471
2472         WebInspector: it'd be better to introduce inspector API related tests.
2473
2474         As far as we have some kind of API for Inspector
2475         it'd be better to have API related tests. This is the test
2476         for API wrappers. These wrappers are tracking the types of arguments
2477         of API functions.
2478
2479         https://bugs.webkit.org/show_bug.cgi?id=44875
2480
2481         Test: inspector/protocol-error.html
2482
2483         * inspector/CodeGeneratorInspector.pm:
2484         * inspector/front-end/inspector.js:
2485         (WebInspector_syncDispatch):
2486         (WebInspector.reportProtocolError):
2487
2488 2010-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2489
2490         Unreviewed, rolling out r66484.
2491         http://trac.webkit.org/changeset/66484
2492         https://bugs.webkit.org/show_bug.cgi?id=44966
2493
2494         Broke EFL build (Requested by acidx on #webkit).
2495
2496         * CMakeLists.txt:
2497
2498 2010-08-31  Ojan Vafai  <ojan@chromium.org>
2499
2500         Reviewed by Tony Chang.
2501
2502         deduplicate code from Node::checkReplaceChild and Node::checkAddChild
2503         https://bugs.webkit.org/show_bug.cgi?id=44962
2504
2505         Remove duplicate code in preparation for fixing https://bugs.webkit.org/show_bug.cgi?id=19524
2506         No new tests since there is no change in functionality.
2507
2508         * dom/Node.cpp:
2509         (WebCore::isChildTypeAllowed):
2510         (WebCore::Node::canReplaceChild):
2511         (WebCore::checkAcceptChild):
2512         (WebCore::transferOwnerDocument):
2513         (WebCore::Node::checkReplaceChild):
2514         (WebCore::Node::checkAddChild):
2515
2516 2010-08-30  Zhenyao Mo  <zmo@google.com>
2517
2518         Reviewed by Kenneth Russell.
2519
2520         [Chromium] bindTexture(TEXTURE_CUBE_MAP) shouldn't generate errors with valid cubemap texture
2521         https://bugs.webkit.org/show_bug.cgi?id=44922
2522
2523         * html/canvas/WebGLRenderingContext.cpp: Remove TEXTURE_WRAP_R code.
2524         (WebCore::WebGLRenderingContext::bindTexture):
2525         * html/canvas/WebGLTexture.cpp: Remove the code for tracking TEXTURE_WRAP_R.
2526         (WebCore::WebGLTexture::WebGLTexture):
2527         * html/canvas/WebGLTexture.h: Ditto.
2528
2529 2010-08-31  Jian Li  <jianli@chromium.org>
2530
2531         Rubber-stamped by David Levin.
2532
2533         Rename addTwoCStrings to concatenateTwoCStrings.
2534
2535         * fileapi/BlobBuilder.cpp:
2536         (WebCore::concatenateTwoCStrings):
2537         (WebCore::BlobBuilder::append):
2538
2539 2010-08-31  Jian Li  <jianli@chromium.org>
2540
2541         Reviewed by Darin Fisher.
2542
2543         Improve BlobBuilder to combine adjacent strings.
2544         https://bugs.webkit.org/show_bug.cgi?id=44884
2545
2546         * fileapi/BlobBuilder.cpp:
2547         (WebCore::addTwoCStrings):
2548         (WebCore::BlobBuilder::append):
2549
2550 2010-08-31  Darin Adler  <darin@apple.com>
2551
2552         Reviewed by Simon Fraser.
2553
2554         Make DOM classes start with a reference count of 1, like all other RefCounted
2555         https://bugs.webkit.org/show_bug.cgi?id=28068
2556
2557         * dom/Document.cpp:
2558         (WebCore::Document::accessSVGExtensions): Use adoptPtr instead of set.
2559
2560         * dom/Document.h: Removed initialRefCount in Node constructor. It's always 1 now.
2561
2562         * dom/Node.h: Removed CreateWithZeroRefCountFlag, CreateStyledElementZeroRefCount,
2563         CreateSVGElementZeroRefCount, and initialRefCount.
2564
2565         * platform/TreeShared.h: Removed initialRefCount argument. It's always 1 now.
2566
2567         * rendering/RenderSVGShadowTreeRootContainer.cpp:
2568         (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Use create
2569         instead of new.
2570
2571         * rendering/SVGResources.h: Inherit from Noncopyable.
2572
2573         * rendering/SVGResourcesCache.cpp:
2574         (WebCore::SVGResourcesCache::~SVGResourcesCache): Removed unneeded special
2575         case code.
2576
2577         * rendering/SVGShadowTreeElements.cpp:
2578         (WebCore::SVGShadowTreeContainerElement::create): Added.
2579         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Made argument
2580         type more specific.
2581         (WebCore::SVGShadowTreeRootElement::create): Added.
2582         * rendering/SVGShadowTreeElements.h: Added create functions, and made the
2583         argument type more specific.
2584
2585         * svg/SVGDocumentExtensions.cpp:
2586         (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Use adoptPtr.
2587         * svg/graphics/SVGImage.cpp:
2588         (WebCore::SVGImage::dataChanged): Use adoptPtr instead of set.
2589
2590         * svg/SVGElement.cpp:
2591         (WebCore::SVGElement::SVGElement): Use CreateSVGElement instead of
2592         CreateSVGElementZeroRefCount.
2593         (WebCore::SVGElement::create): Use adoptRef.
2594
2595         * wml/WMLElement.cpp:
2596         (WebCore::WMLElement::WMLElement): Use CreateStyledElement instead of
2597         CreateStyledElementZeroRefCount.
2598         (WebCore::WMLElement::create): Use adoptRef.
2599
2600         * svg/SVGAElement.cpp:
2601         (WebCore::SVGAElement::create):
2602         * svg/SVGAltGlyphElement.cpp:
2603         (WebCore::SVGAltGlyphElement::create):
2604         * svg/SVGAnimateColorElement.cpp:
2605         (WebCore::SVGAnimateColorElement::create):
2606         * svg/SVGAnimateElement.cpp:
2607         (WebCore::SVGAnimateElement::create):
2608         * svg/SVGAnimateMotionElement.cpp:
2609         (WebCore::SVGAnimateMotionElement::create):
2610         * svg/SVGAnimateTransformElement.cpp:
2611         (WebCore::SVGAnimateTransformElement::create):
2612         * svg/SVGCircleElement.cpp:
2613         (WebCore::SVGCircleElement::create):
2614         * svg/SVGClipPathElement.cpp:
2615         (WebCore::SVGClipPathElement::create):
2616         * svg/SVGCursorElement.cpp:
2617         (WebCore::SVGCursorElement::create):
2618         * svg/SVGDefsElement.cpp:
2619         (WebCore::SVGDefsElement::create):
2620         * svg/SVGDescElement.cpp:
2621         (WebCore::SVGDescElement::create):
2622         * svg/SVGEllipseElement.cpp:
2623         (WebCore::SVGEllipseElement::create):
2624         * svg/SVGFEBlendElement.cpp:
2625         (WebCore::SVGFEBlendElement::create):
2626         * svg/SVGFEColorMatrixElement.cpp:
2627         (WebCore::SVGFEColorMatrixElement::create):
2628         * svg/SVGFEComponentTransferElement.cpp:
2629         (WebCore::SVGFEComponentTransferElement::create):
2630         * svg/SVGFECompositeElement.cpp:
2631         (WebCore::SVGFECompositeElement::create):
2632         * svg/SVGFEConvolveMatrixElement.cpp:
2633         (WebCore::SVGFEConvolveMatrixElement::create):
2634         * svg/SVGFEDiffuseLightingElement.cpp:
2635         (WebCore::SVGFEDiffuseLightingElement::create):
2636         * svg/SVGFEDisplacementMapElement.cpp:
2637         (WebCore::SVGFEDisplacementMapElement::create):
2638         * svg/SVGFEDistantLightElement.cpp:
2639         (WebCore::SVGFEDistantLightElement::create):
2640         * svg/SVGFEFloodElement.cpp:
2641         (WebCore::SVGFEFloodElement::create):
2642         * svg/SVGFEFuncAElement.cpp:
2643         (WebCore::SVGFEFuncAElement::create):
2644         * svg/SVGFEFuncBElement.cpp:
2645         (WebCore::SVGFEFuncBElement::create):
2646         * svg/SVGFEFuncGElement.cpp:
2647         (WebCore::SVGFEFuncGElement::create):
2648         * svg/SVGFEFuncRElement.cpp:
2649         (WebCore::SVGFEFuncRElement::create):
2650         * svg/SVGFEGaussianBlurElement.cpp:
2651         (WebCore::SVGFEGaussianBlurElement::create):
2652         * svg/SVGFEImageElement.cpp:
2653         (WebCore::SVGFEImageElement::create):
2654         * svg/SVGFEMergeElement.cpp:
2655         (WebCore::SVGFEMergeElement::create):
2656         * svg/SVGFEMergeNodeElement.cpp:
2657         (WebCore::SVGFEMergeNodeElement::create):
2658         * svg/SVGFEMorphologyElement.cpp:
2659         (WebCore::SVGFEMorphologyElement::create):
2660         * svg/SVGFEOffsetElement.cpp:
2661         (WebCore::SVGFEOffsetElement::create):
2662         * svg/SVGFEPointLightElement.cpp:
2663         (WebCore::SVGFEPointLightElement::create):
2664         * svg/SVGFESpecularLightingElement.cpp:
2665         (WebCore::SVGFESpecularLightingElement::create):
2666         * svg/SVGFESpotLightElement.cpp:
2667         (WebCore::SVGFESpotLightElement::create):
2668         * svg/SVGFETileElement.cpp:
2669         (WebCore::SVGFETileElement::create):
2670         * svg/SVGFETurbulenceElement.cpp:
2671         (WebCore::SVGFETurbulenceElement::create):
2672         * svg/SVGFilterElement.cpp:
2673         (WebCore::SVGFilterElement::create):
2674         * svg/SVGFontElement.cpp:
2675         (WebCore::SVGFontElement::create):
2676         * svg/SVGFontFaceElement.cpp:
2677         (WebCore::SVGFontFaceElement::create):
2678         * svg/SVGFontFaceFormatElement.cpp:
2679         (WebCore::SVGFontFaceFormatElement::create):
2680         * svg/SVGFontFaceNameElement.cpp:
2681         (WebCore::SVGFontFaceNameElement::create):
2682         * svg/SVGFontFaceSrcElement.cpp:
2683         (WebCore::SVGFontFaceSrcElement::create):
2684         * svg/SVGFontFaceUriElement.cpp:
2685         (WebCore::SVGFontFaceUriElement::create):
2686         * svg/SVGForeignObjectElement.cpp:
2687         (WebCore::SVGForeignObjectElement::create):
2688         * svg/SVGGElement.cpp:
2689         (WebCore::SVGGElement::create):
2690         * svg/SVGGlyphElement.cpp:
2691         (WebCore::SVGGlyphElement::create):
2692         * svg/SVGHKernElement.cpp:
2693         (WebCore::SVGHKernElement::create):
2694         * svg/SVGImageElement.cpp:
2695         (WebCore::SVGImageElement::create):
2696         * svg/SVGLineElement.cpp:
2697         (WebCore::SVGLineElement::create):
2698         * svg/SVGLinearGradientElement.cpp:
2699         (WebCore::SVGLinearGradientElement::create):
2700         * svg/SVGMPathElement.cpp:
2701         (WebCore::SVGMPathElement::create):
2702         * svg/SVGMarkerElement.cpp:
2703         (WebCore::SVGMarkerElement::create):
2704         * svg/SVGMaskElement.cpp:
2705         (WebCore::SVGMaskElement::create):
2706         * svg/SVGMetadataElement.cpp:
2707         (WebCore::SVGMetadataElement::create):
2708         * svg/SVGMissingGlyphElement.cpp:
2709         (WebCore::SVGMissingGlyphElement::create):
2710         * svg/SVGPathElement.cpp:
2711         (WebCore::SVGPathElement::create):
2712         * svg/SVGPatternElement.cpp:
2713         (WebCore::SVGPatternElement::create):
2714         * svg/SVGPolygonElement.cpp:
2715         (WebCore::SVGPolygonElement::create):
2716         * svg/SVGPolylineElement.cpp:
2717         (WebCore::SVGPolylineElement::create):
2718         * svg/SVGRadialGradientElement.cpp:
2719         (WebCore::SVGRadialGradientElement::create):
2720         * svg/SVGRectElement.cpp:
2721         (WebCore::SVGRectElement::create):
2722         * svg/SVGSVGElement.cpp:
2723         (WebCore::SVGSVGElement::create):
2724         (WebCore::SVGSVGElement::currentView):
2725         * svg/SVGScriptElement.cpp:
2726         (WebCore::SVGScriptElement::create):
2727         * svg/SVGSetElement.cpp:
2728         (WebCore::SVGSetElement::create):
2729         * svg/SVGStopElement.cpp:
2730         (WebCore::SVGStopElement::create):
2731         * svg/SVGStyleElement.cpp:
2732         (WebCore::SVGStyleElement::create):
2733         * svg/SVGSwitchElement.cpp:
2734         (WebCore::SVGSwitchElement::create):
2735         * svg/SVGSymbolElement.cpp:
2736         (WebCore::SVGSymbolElement::create):
2737         * svg/SVGTRefElement.cpp:
2738         (WebCore::SVGTRefElement::create):
2739         * svg/SVGTSpanElement.cpp:
2740         (WebCore::SVGTSpanElement::create):
2741         * svg/SVGTextElement.cpp:
2742         (WebCore::SVGTextElement::create):
2743         * svg/SVGTextPathElement.cpp:
2744         (WebCore::SVGTextPathElement::create):
2745         * svg/SVGTitleElement.cpp:
2746         (WebCore::SVGTitleElement::create):
2747         * svg/SVGUseElement.cpp:
2748         (WebCore::SVGUseElement::create):
2749         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2750         * svg/SVGVKernElement.cpp:
2751         (WebCore::SVGVKernElement::create):
2752         * svg/SVGViewElement.cpp:
2753         (WebCore::SVGViewElement::create):
2754         * wml/WMLAElement.cpp:
2755         (WebCore::WMLAElement::create):
2756         * wml/WMLAccessElement.cpp:
2757         (WebCore::WMLAccessElement::create):
2758         * wml/WMLAnchorElement.cpp:
2759         (WebCore::WMLAnchorElement::create):
2760         * wml/WMLBRElement.cpp:
2761         (WebCore::WMLBRElement::create):
2762         * wml/WMLCardElement.cpp:
2763         (WebCore::WMLCardElement::create):
2764         * wml/WMLDoElement.cpp:
2765         (WebCore::WMLDoElement::create):
2766         * wml/WMLDocument.h:
2767         (WebCore::WMLDocument::create):
2768         * wml/WMLFieldSetElement.cpp:
2769         (WebCore::WMLFieldSetElement::create):
2770         * wml/WMLFormControlElement.cpp:
2771         (WebCore::WMLFormControlElement::create):
2772         * wml/WMLGoElement.cpp:
2773         (WebCore::WMLGoElement::create):
2774         * wml/WMLImageElement.cpp:
2775         (WebCore::WMLImageElement::create):
2776         * wml/WMLInputElement.cpp:
2777         (WebCore::WMLInputElement::create):
2778         * wml/WMLInsertedLegendElement.cpp:
2779         (WebCore::WMLInsertedLegendElement::create):
2780         * wml/WMLIntrinsicEvent.cpp:
2781         (WebCore::WMLIntrinsicEvent::create):
2782         * wml/WMLMetaElement.cpp:
2783         (WebCore::WMLMetaElement::create):
2784         * wml/WMLNoopElement.cpp:
2785         (WebCore::WMLNoopElement::create):
2786         * wml/WMLOnEventElement.cpp:
2787         (WebCore::WMLOnEventElement::create):
2788         * wml/WMLOptGroupElement.cpp:
2789         (WebCore::WMLOptGroupElement::create):
2790         * wml/WMLOptionElement.cpp:
2791         (WebCore::WMLOptionElement::create):
2792         * wml/WMLPElement.cpp:
2793         (WebCore::WMLPElement::create):
2794         * wml/WMLPostfieldElement.cpp:
2795         (WebCore::WMLPostfieldElement::create):
2796         * wml/WMLPrevElement.cpp:
2797         (WebCore::WMLPrevElement::create):
2798         * wml/WMLRefreshElement.cpp:
2799         (WebCore::WMLRefreshElement::create):
2800         * wml/WMLSelectElement.cpp:
2801         (WebCore::WMLSelectElement::create):
2802         * wml/WMLSetvarElement.cpp:
2803         (WebCore::WMLSetvarElement::create):
2804         * wml/WMLTableElement.cpp:
2805         (WebCore::WMLTableElement::create):
2806         * wml/WMLTaskElement.cpp:
2807         (WebCore::WMLTaskElement::create):
2808         * wml/WMLTemplateElement.cpp:
2809         (WebCore::WMLTemplateElement::create):
2810         * wml/WMLTimerElement.cpp:
2811         (WebCore::WMLTimerElement::create):
2812         Use adoptRef.
2813
2814 2010-08-31  Justin Schuh  <jschuh@chromium.org>
2815
2816         Reviewed by Nate Chapin.
2817
2818         Local frame loads should check against origin (not referrer)
2819         https://bugs.webkit.org/show_bug.cgi?id=44888
2820
2821         Test: fast/frames/iframe-no-src-local-origin-allow.html
2822
2823         * loader/SubframeLoader.cpp:
2824         (WebCore::SubframeLoader::loadSubframe):
2825
2826 2010-08-25  Zhenyao Mo  <zmo@google.com>
2827
2828         Reviewed by Kenneth Russell.
2829
2830         Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (cg)
2831         https://bugs.webkit.org/show_bug.cgi?id=44566
2832
2833         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2834         (WebCore::GraphicsContext3D::getImageData): Fix the premultiplyAlpha issue for cg.
2835
2836 2010-08-31  Dave Hyatt  <hyatt@apple.com>
2837
2838         Reviewed by Adam Roben.
2839
2840         https://bugs.webkit.org/show_bug.cgi?id=44956, paginate block-level replaced elements.
2841        <rdar://problem/8000991> Images with display:block get split between columns or pages
2842
2843         Added fast/multicol/paginate-block-replaced.html
2844
2845         * rendering/RenderBlock.cpp:
2846         (WebCore::RenderBlock::paintChildren):
2847
2848 2010-08-31  Alexey Proskuryakov  <ap@apple.com>
2849
2850         Reviewed by Darin Adler.
2851
2852         https://bugs.webkit.org/show_bug.cgi?id=36515
2853         CSS style definitions are ignored if they just follow a "@charset" which appears in lines
2854         other than the first line in stylesheet.
2855
2856         Test: fast/css/misplaced-charset.html
2857
2858         * css/CSSGrammar.y: Ignore a misplaced charset rule without consuming extra characters and
2859         thus breaking subsequent rules.
2860
2861 2010-08-31  Patrick Gansterer  <paroga@paroga.com>
2862
2863         Reviewed by Antonio Gomes.
2864
2865         [CMake] Add IF (ENABLE_MATHML) around MathML sources
2866         https://bugs.webkit.org/show_bug.cgi?id=44927
2867
2868         * CMakeLists.txt:
2869
2870 2010-08-31  Patrick Gansterer  <paroga@paroga.com>
2871
2872         Reviewed by Kenneth Rohde Christiansen.
2873
2874         [CMake] Unify GENERATE_DOM_NAMES code
2875         https://bugs.webkit.org/show_bug.cgi?id=44842
2876
2877         * CMakeLists.txt: Added property svn:eol-style.
2878
2879 2010-08-31  Daniel Cheng  <dcheng@chromium.org>
2880
2881         Reviewed by Tony Chang.
2882
2883         [chromium] Add an interface for platform copy/paste drag/drop data objects
2884         https://bugs.webkit.org/show_bug.cgi?id=44914
2885
2886         Currently, Chromium only supports a few hardcoded data types in
2887         event.dataTransfer. This is the first of several patches to add support
2888         for arbitrary data types.
2889
2890         No new tests.
2891
2892         * WebCore.gypi:
2893         * platform/chromium/ChromiumDataObjectNew.h: Added.
2894         * platform/chromium/ClipboardChromium.cpp:
2895
2896 2010-08-30  Andrey Kosyakov  <caseq@chromium.org>
2897
2898         Reviewed by Yury Semikhatsky.
2899
2900         Web Inspector: add audits support to extension API
2901         Exposed (late) adding of categories from AuditPanel.
2902         Removed indexOfObjectInListSortedByFunction in favor of
2903         insertionIndexForObjectInListSortedByFunction (the former had
2904         weird interface always returning negative numbers and was only used in
2905         the latter).
2906         https://bugs.webkit.org/show_bug.cgi?id=44518
2907
2908         Tests: inspector/extensions-audits-api.html
2909                inspector/extensions-audits.html
2910
2911         * WebCore.gypi:
2912         * WebCore.vcproj/WebCore.vcproj:
2913         * inspector/front-end/AuditFormatters.js: Added.
2914         (WebInspector.applyFormatters):
2915         (WebInspector.AuditFormatters.text):
2916         (WebInspector.AuditFormatters.snippet):
2917         (WebInspector.AuditFormatters.concat):
2918         (WebInspector.AuditFormatters.url):
2919         * inspector/front-end/AuditLauncherView.js:
2920         (WebInspector.AuditLauncherView):
2921         (WebInspector.AuditLauncherView.prototype.addCategory.compareCategories):
2922         (WebInspector.AuditLauncherView.prototype.addCategory):
2923         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
2924         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
2925         (WebInspector.AuditLauncherView.prototype._categoryClicked):
2926         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
2927         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
2928         * inspector/front-end/AuditResultView.js:
2929         (WebInspector.AuditCategoryResultPane.prototype._appendResult):
2930         * inspector/front-end/AuditsPanel.js:
2931         (WebInspector.AuditsPanel):
2932         (WebInspector.AuditsPanel.prototype.addCategory):
2933         (WebInspector.AuditsPanel.prototype.getCategory):
2934         (WebInspector.AuditsPanel.prototype._executeAudit):
2935         (WebInspector.AuditCategory.prototype.run):
2936         * inspector/front-end/ExtensionAPI.js:
2937         (WebInspector.injectedExtensionAPI):
2938         (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype.addListener):
2939         (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype._fire):
2940         (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype._dispatch):
2941         (WebInspector.injectedExtensionAPI.EventSink):
2942         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
2943         (WebInspector.injectedExtensionAPI.Panels.prototype.create):
2944         (WebInspector.injectedExtensionAPI.Audits):
2945         (WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
2946         (WebInspector.injectedExtensionAPI.AuditCategory.customDispatch):
2947         (WebInspector.injectedExtensionAPI.AuditCategory):
2948         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
2949         (WebInspector.injectedExtensionAPI.AuditResult):
2950         (WebInspector.injectedExtensionAPI.AuditResult.prototype.get Severity):
2951         (WebInspector.injectedExtensionAPI.AuditResultImpl):
2952         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.addResult):
2953         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.createResult):
2954         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.done):
2955         (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype._nodeFactory):
2956         (WebInspector.injectedExtensionAPI.AuditResultNode):
2957         (WebInspector.injectedExtensionAPI.AuditResultNode.prototype.addChild):
2958         * inspector/front-end/ExtensionAuditCategory.js: Added.
2959         (WebInspector.ExtensionAuditCategory):
2960         (WebInspector.ExtensionAuditCategory.prototype.get id):
2961         (WebInspector.ExtensionAuditCategory.prototype.get displayName):
2962         (WebInspector.ExtensionAuditCategory.prototype.get ruleCount):
2963         (WebInspector.ExtensionAuditCategory.prototype.run):
2964         (WebInspector.ExtensionAuditCategoryResults):
2965         (WebInspector.ExtensionAuditCategoryResults.prototype.get complete):
2966         (WebInspector.ExtensionAuditCategoryResults.prototype.cancel):
2967         (WebInspector.ExtensionAuditCategoryResults.prototype.addResult):
2968         (WebInspector.ExtensionAuditCategoryResults.prototype._addNode):
2969         (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
2970         * inspector/front-end/ExtensionCommon.js: Added.
2971         (WebInspector.commonExtensionSymbols):
2972         * inspector/front-end/ExtensionServer.js:
2973         (WebInspector.ExtensionServer):
2974         (WebInspector.ExtensionServer.prototype.startAuditRun):
2975         (WebInspector.ExtensionServer.prototype.stopAuditRun):
2976         (WebInspector.ExtensionServer.prototype._postNotification):
2977         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
2978         (WebInspector.ExtensionServer.prototype._onAddAuditResult):
2979         (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
2980         (WebInspector.ExtensionServer.prototype._addExtensions):
2981         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
2982         (WebInspector.ExtensionStatus):
2983         * inspector/front-end/WebKit.qrc:
2984         * inspector/front-end/inspector.html:
2985         * inspector/front-end/utilities.js:
2986         ():
2987
2988 2010-08-31  Justin Schuh  <jschuh@chromium.org>
2989
2990         Reviewed by Nate Chapin.
2991
2992         Remove unused canReferToParentFrameEncoding() function from FrameLoader.cpp
2993         https://bugs.webkit.org/show_bug.cgi?id=44895
2994
2995         No new tests; no behavior changed.
2996
2997         * loader/FrameLoader.cpp:
2998
2999 2010-08-31  Jeremy Orlow  <jorlow@chromium.org>
3000
3001         Build fix.
3002
3003         * storage/IDBObjectStoreBackendImpl.cpp:
3004         (WebCore::IDBObjectStoreBackendImpl::openCursor):
3005
3006 2010-08-24  Jeremy Orlow  <jorlow@chromium.org>
3007
3008         Reviewed by Steve Block.
3009
3010         Implement the rest of IDBCursors + make them persistent
3011         https://bugs.webkit.org/show_bug.cgi?id=44546
3012
3013         Because the old (memory only) backend didn't support ranges, IDBCursors
3014         were never really finished.  This completes them on top of SQLite like
3015         the rest of IndexedDB.
3016
3017         Test: storage/indexeddb/objectstore-cursor.html
3018
3019         * storage/IDBCursor.cpp:
3020         (WebCore::IDBCursor::value):
3021         * storage/IDBCursorBackendImpl.cpp:
3022         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
3023         (WebCore::IDBCursorBackendImpl::key):
3024         (WebCore::IDBCursorBackendImpl::value):
3025         (WebCore::IDBCursorBackendImpl::update):
3026         (WebCore::IDBCursorBackendImpl::continueFunction):
3027         (WebCore::IDBCursorBackendImpl::remove):
3028         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
3029         * storage/IDBCursorBackendImpl.h:
3030         (WebCore::IDBCursorBackendImpl::create):
3031         * storage/IDBCursorBackendInterface.h:
3032         * storage/IDBKey.cpp:
3033         (WebCore::IDBKey::isEqual):
3034         * storage/IDBKey.h:
3035         * storage/IDBKeyRange.cpp:
3036         (WebCore::IDBKeyRange::leftBound):
3037         (WebCore::IDBKeyRange::rightBound):
3038         (WebCore::IDBKeyRange::bound):
3039         * storage/IDBObjectStoreBackendImpl.cpp:
3040         (WebCore::cursorWhereFragment):
3041         (WebCore::IDBObjectStoreBackendImpl::openCursor):
3042
3043 2010-08-27  John Gregg  <johnnyg@google.com>
3044
3045         Reviewed by David Levin.
3046
3047         Notifications should support a click event
3048         https://bugs.webkit.org/show_bug.cgi?id=44800
3049
3050         Test: fast/notifications/notifications-click-event.html
3051
3052         * notifications/Notification.h:
3053         * notifications/Notification.idl:
3054
3055 2010-08-31  Kent Tamura  <tkent@chromium.org>
3056
3057         Reviewed by Adam Barth.
3058
3059         [V8] Custom binding for "dataset"
3060         https://bugs.webkit.org/show_bug.cgi?id=44930
3061
3062         * WebCore.gyp/WebCore.gyp: Remove the exclusion of DOMStringMap.idl.
3063         * WebCore.gypi: Add V8DOMStringMapCustom.cpp.
3064         * bindings/v8/custom/V8DOMStringMapCustom.cpp: Added.
3065         (WebCore::V8DOMStringMap::namedPropertyQuery):
3066         (WebCore::V8DOMStringMap::namedPropertyGetter):
3067         (WebCore::V8DOMStringMap::namedPropertyEnumerator):
3068         (WebCore::V8DOMStringMap::namedPropertyDeleter):
3069         (WebCore::V8DOMStringMap::namedPropertySetter):
3070         * dom/Element.idl: Remove V8 exclusion.
3071         * page/DOMWindow.idl: ditto.
3072
3073 2010-08-31  Jian Li  <jianli@chromium.org>
3074
3075         Fix chromium build break.
3076
3077         * page/DOMWindow.h:
3078
3079 2010-08-31  Adam Barth  <abarth@webkit.org>
3080
3081         Reviewed by Eric Seidel.
3082
3083         Stale document crashes at multiple URLs (with new parser)
3084         https://bugs.webkit.org/show_bug.cgi?id=44885
3085
3086         We're not supposed to load resources in detached documents.  According
3087         to several locations I examined, it's the job of the caller of
3088         DocLoader to check this invariant.  Like most code dealing with
3089         detached documents, this check isn't overly consistent.  At some point,
3090         we'll need to rationalize all the different patterns here.  However, at
3091         this point, this patch appears correct because it matches what we do
3092         for <link rel="stylesheet">.
3093
3094         Test: fast/dom/HTMLLinkElement/prefetch-detached.html
3095
3096         * html/HTMLLinkElement.cpp:
3097         (WebCore::HTMLLinkElement::process):
3098         * loader/DocLoader.cpp:
3099         (WebCore::DocLoader::requestLinkPrefetch):
3100
3101 2010-08-31  Jian Li  <jianli@chromium.org>
3102
3103         Reviewed by David Levin.
3104
3105         Expose window.createBlobURL and window.revokeBlobURL.
3106         https://bugs.webkit.org/show_bug.cgi?id=44908
3107
3108         Tests: fast/files/apply-blob-url-to-img.html
3109                fast/files/apply-blob-url-to-xhr.html
3110
3111         * page/DOMWindow.cpp:
3112         (WebCore::DOMWindow::createBlobURL):
3113         (WebCore::DOMWindow::revokeBlobURL):
3114         * page/DOMWindow.h:
3115         * page/DOMWindow.idl:
3116         * xml/XMLHttpRequest.cpp:
3117         (WebCore::XMLHttpRequest::createRequest):
3118
3119 2010-08-31  Jian Li  <jianli@chromium.org>
3120
3121         Reviewed by David Levin.
3122
3123         Support FileReaderSync in workers.
3124         https://bugs.webkit.org/show_bug.cgi?id=44657
3125
3126         Also add FileException interface and make Blob/File/FileError useable in
3127         workers.
3128
3129         Tests: fast/files/workers/worker-read-blob-async.html
3130                fast/files/workers/worker-read-blob-sync.html
3131                fast/files/workers/worker-read-file-async.html
3132                fast/files/workers/worker-read-file-sync.html
3133
3134         * DerivedSources.cpp:
3135         * DerivedSources.make:
3136         * WebCore.gypi:
3137         * WebCore.pro:
3138         * WebCore.vcproj/WebCore.vcproj:
3139         * WebCore.xcodeproj/project.pbxproj:
3140         * fileapi/Blob.idl: Added NoStaticTables attribute.
3141         * fileapi/File.idl: Added NoStaticTables attribute.
3142         * fileapi/FileError.idl: Added NoStaticTables attribute.
3143         * fileapi/FileException.h: Added.
3144         * fileapi/FileException.idl: Added.
3145         * fileapi/FileReaderSync.cpp: Added.
3146         * fileapi/FileReaderSync.h: Added.
3147         * fileapi/FileReaderSync.idl: Added.
3148         * workers/WorkerContext.idl: Expose FileReaderSync and BlodBuilder in workers.
3149
3150 2010-08-30  Philippe Normand  <pnormand@igalia.com>
3151
3152         Reviewed by Martin Robinson.
3153
3154         [GTK] Buffered ranges drawing support
3155         https://bugs.webkit.org/show_bug.cgi?id=44869
3156
3157         Refactored the media slider track painting code to support
3158         multiple buffered ranges painting. This change introduces no
3159         functional regression.
3160
3161         * platform/gtk/RenderThemeGtk.cpp:
3162         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
3163
3164 2010-08-30  Mihai Parparita  <mihaip@chromium.org>
3165
3166         Reviewed by Adam Barth.
3167
3168         HISTORY_ALWAYS_ASYNC should be removed (history should always be async)
3169         https://bugs.webkit.org/show_bug.cgi?id=44315
3170
3171         Remove check in RedirectScheduler::scheduleHistoryNavigation that would
3172         dispatch some navigations synchronously.
3173
3174         Test: fast/history/history-traversal-is-asynchronous.html
3175
3176         * loader/RedirectScheduler.cpp:
3177         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
3178
3179 2010-08-30  Jian Li  <jianli@chromium.org>
3180
3181         Try to fix break again.
3182
3183         * fileapi/ThreadableBlobRegistry.cpp:
3184         (WebCore::ThreadableBlobRegistry::registerBlobURL):
3185         (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
3186
3187 2010-08-30  Jian Li  <jianli@chromium.org>
3188
3189         Fix another build break. Also fix directory upload test break.
3190
3191         * fileapi/File.cpp:
3192         (WebCore::File::File):
3193         * fileapi/ThreadableBlobRegistry.cpp:
3194
3195 2010-08-30  Jian Li  <jianli@chromium.org>
3196
3197         Fix build break.
3198
3199         * xml/XMLHttpRequest.cpp:
3200         (WebCore::XMLHttpRequest::send):
3201
3202 2010-08-30  Jian Li  <jianli@chromium.org>
3203
3204         Fix qt/gtk build break.
3205
3206         * platform/network/BlobRegistryImpl.cpp:
3207
3208 2010-08-30  Jian Li  <jianli@chromium.org>
3209
3210         Reviewed by Darin Fisher.
3211
3212         Switch the Blob implementation to using the blob data registration model
3213         https://bugs.webkit.org/show_bug.cgi?id=44389
3214
3215         Tests: fast/files/read-blob-async.html
3216                fast/files/read-file-async.html
3217
3218         With this switch, File/Blob/BlobBuilder are changed to register the blob
3219         data. FileReader is changed to route through loading the blob resource.
3220         FormData is also updated to take BlobData. The WebKit mac implementation
3221         is updated to resolve the blob references in the BlobData.
3222
3223         * CMakeLists.txt: Update the project file to remove BlobItem.*.
3224         * GNUmakefile.am: Update the project file to remove BlobItem.*.
3225         * WebCore.gypi: Update the project file to remove BlobItem.*.
3226         * WebCore.pro: Update the project file to remove BlobItem.*.
3227         * WebCore.vcproj/WebCore.vcproj: Update the project file to remove BlobItem.*.
3228         * WebCore.xcodeproj/project.pbxproj: Update the project file to remove BlobItem.*.
3229         * fileapi/Blob.cpp: Switch to using BlobData.
3230         (WebCore::Blob::Blob):
3231         (WebCore::Blob::slice):
3232         * fileapi/Blob.h: Switch to using BlobData.
3233         (WebCore::Blob::create):
3234         (WebCore::Blob::size):
3235         (WebCore::Blob::isFile):
3236         * fileapi/BlobBuilder.cpp: Switch to using BlobData.
3237         (WebCore::BlobBuilder::BlobBuilder):
3238         (WebCore::BlobBuilder::append):
3239         (WebCore::BlobBuilder::getBlob):
3240         * fileapi/BlobBuilder.h: Switch to using BlobData.
3241         * fileapi/BlobURL.cpp: Add a new helper method used in FormData.
3242         (WebCore::BlobURL::getIdentifier):
3243         * fileapi/BlobURL.h:
3244         * fileapi/File.cpp: Switch to using BlobData.
3245         (WebCore::createBlobDataForFile):
3246         (WebCore::File::File):
3247         (WebCore::File::size):
3248         (WebCore::File::captureSnapshot):
3249         * fileapi/File.h: Switch to using BlobData.
3250         (WebCore::File::create):
3251         (WebCore::File::path):
3252         (WebCore::File::name):
3253         (WebCore::File::webkitRelativePath):
3254         * fileapi/FileReader.cpp: Change the reading to route through blob resource loading.
3255         (WebCore::FileReader::FileReader):
3256         (WebCore::FileReader::readAsBinaryString):
3257         (WebCore::FileReader::readAsText):
3258         (WebCore::FileReader::readAsDataURL):
3259         (WebCore::delayedStart):
3260         (WebCore::FileReader::readInternal):
3261         (WebCore::FileReader::terminate):
3262         (WebCore::FileReader::start):
3263         (WebCore::FileReader::didReceiveResponse):
3264         (WebCore::FileReader::didReceiveData):
3265         (WebCore::FileReader::didFinishLoading):
3266         (WebCore::FileReader::didFail):
3267         (WebCore::FileReader::failed):
3268         (WebCore::FileReader::httpStatusCodeToExceptionCode):
3269         (WebCore::FileReader::result):
3270         (WebCore::FileReader::convertToDataURL):
3271         * fileapi/FileReader.h:
3272         * html/FormDataList.cpp: Account to BlobData change.
3273         (WebCore::FormDataList::appendString):
3274         (WebCore::FormDataList::appendBlob):
3275         * html/FormDataList.h: Account to BlobData change.
3276         (WebCore::FormDataList::appendBlob):
3277         (WebCore::FormDataList::Item::Item):
3278         (WebCore::FormDataList::Item::data):
3279         (WebCore::FormDataList::Item::blob):
3280         (WebCore::FormDataList::items):
3281         * loader/FormSubmission.cpp: Account to BlobData change.
3282         (WebCore::FormSubmission::create):
3283         * platform/BlobItem.cpp: Removed.
3284         * platform/BlobItem.h: Removed.
3285         * platform/network/BlobRegistryImpl.cpp: Add the implementations for resource loading.
3286         (WebCore::BlobRegistryImpl::createResourceHandle):
3287         (WebCore::BlobRegistryImpl::loadResourceSynchronously):
3288         * platform/network/BlobResourceHandle.cpp: Fix a bug that the ref is not added.
3289         (WebCore::BlobResourceHandle::BlobResourceHandle):
3290         * platform/network/FormData.cpp: Account to BlobData change.
3291         (WebCore::FormData::create):
3292         (WebCore::FormData::createMultiPart):
3293         (WebCore::FormData::deepCopy):
3294         (WebCore::FormData::appendFile):
3295         (WebCore::FormData::appendKeyValuePairItems):
3296         * platform/network/FormData.h: Account to BlobData change.
3297         * platform/network/mac/FormDataStreamMac.mm: Resolve blob references in the form data.
3298         (WebCore::closeCurrentStream):
3299         (WebCore::advanceCurrentStream):
3300         (WebCore::formCreate):
3301         (WebCore::formRead):
3302         (WebCore::setHTTPBody):
3303         * xml/XMLHttpRequest.cpp: Account to BlobData change.
3304         (WebCore::XMLHttpRequest::send):
3305
3306 2010-08-30  Eric Seidel  <eric@webkit.org>
3307
3308         Unreviewed, rolling out r66418.
3309         http://trac.webkit.org/changeset/66418
3310         https://bugs.webkit.org/show_bug.cgi?id=44896
3311
3312         Adam tried to roll this out with:
3313         https://bugs.webkit.org/show_bug.cgi?id=44924
3314         but we hit a commit-queue edgecase and it failed, trying again.
3315
3316         Causing test failures on multiple bots
3317
3318         * rendering/RenderForeignObject.cpp:
3319         (WebCore::RenderForeignObject::layout):
3320         * rendering/RenderObject.cpp:
3321         * rendering/RenderObject.h:
3322         (WebCore::RenderObject::setNeedsBoundariesUpdate):
3323         * rendering/RenderObjectChildList.cpp:
3324         (WebCore::RenderObjectChildList::removeChildNode):
3325         * rendering/RenderPath.cpp:
3326         (WebCore::RenderPath::layout):
3327         (WebCore::RenderPath::paint):
3328         (WebCore::RenderPath::styleWillChange):
3329         * rendering/RenderPath.h:
3330         (WebCore::RenderPath::setNeedsBoundariesUpdate):
3331         * rendering/RenderSVGBlock.cpp:
3332         * rendering/RenderSVGBlock.h:
3333         * rendering/RenderSVGContainer.cpp:
3334         (WebCore::RenderSVGContainer::RenderSVGContainer):
3335         (WebCore::RenderSVGContainer::layout):
3336         (WebCore::RenderSVGContainer::paint):
3337         (WebCore::RenderSVGContainer::objectBoundingBox):
3338         (WebCore::RenderSVGContainer::strokeBoundingBox):
3339         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
3340         * rendering/RenderSVGContainer.h:
3341         (WebCore::RenderSVGContainer::calculateLocalTransform):
3342         * rendering/RenderSVGGradientStop.h:
3343         * rendering/RenderSVGHiddenContainer.cpp:
3344         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
3345         (WebCore::RenderSVGHiddenContainer::objectBoundingBox):
3346         (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
3347         * rendering/RenderSVGHiddenContainer.h:
3348         * rendering/RenderSVGImage.cpp:
3349         (WebCore::RenderSVGImage::layout):
3350         * rendering/RenderSVGImage.h:
3351         * rendering/RenderSVGInline.cpp:
3352         * rendering/RenderSVGInline.h:
3353         * rendering/RenderSVGModelObject.cpp:
3354         * rendering/RenderSVGModelObject.h:
3355         * rendering/RenderSVGRoot.cpp:
3356         (WebCore::RenderSVGRoot::RenderSVGRoot):
3357         (WebCore::RenderSVGRoot::layout):
3358         (WebCore::RenderSVGRoot::objectBoundingBox):
3359         (WebCore::RenderSVGRoot::strokeBoundingBox):
3360         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
3361         * rendering/RenderSVGRoot.h:
3362         * rendering/RenderSVGText.cpp:
3363         (WebCore::RenderSVGText::layout):
3364         * rendering/RenderSVGTransformableContainer.cpp:
3365         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
3366         * rendering/RenderSVGTransformableContainer.h:
3367         * rendering/RenderSVGViewportContainer.cpp:
3368         (WebCore::RenderSVGViewportContainer::calcViewport):
3369         * rendering/SVGRenderSupport.cpp:
3370         (WebCore::SVGRenderSupport::computeContainerBoundingBox):
3371         * rendering/SVGRenderSupport.h:
3372         * rendering/style/SVGRenderStyle.cpp:
3373         (WebCore::SVGRenderStyle::diff):
3374
3375 2010-08-30  Adam Barth  <abarth@webkit.org>
3376
3377         Reviewed by Eric Seidel.
3378
3379         Implement CDATASection state for the HTMLTokenizer
3380         https://bugs.webkit.org/show_bug.cgi?id=44923
3381
3382         In the spec, this state refers back to the HTMLTreeBuilder from the
3383         HTMLTokenizer.  Rather that introduce that (backwards) dependencies, we
3384         have the tree builder set a bit on the tokenizer.
3385
3386         * html/parser/HTMLTokenizer.cpp:
3387         (WebCore::HTMLTokenizer::reset):
3388         (WebCore::HTMLTokenizer::nextToken):
3389         * html/parser/HTMLTokenizer.h:
3390         (WebCore::HTMLTokenizer::shouldAllowCDATA):
3391         (WebCore::HTMLTokenizer::setShouldAllowCDATA):
3392         * html/parser/HTMLTreeBuilder.cpp:
3393         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
3394
3395 2010-08-30  Adam Barth  <abarth@webkit.org>
3396
3397         Reviewed by Eric Seidel.
3398
3399         Enable HTML5lib's test_innerHTML01.dat
3400         https://bugs.webkit.org/show_bug.cgi?id=44919
3401
3402         These tests provoked two branches that we hadn't implemented yet.
3403
3404         * html/parser/HTMLTreeBuilder.cpp:
3405         (WebCore::HTMLTreeBuilder::processStartTag):
3406         (WebCore::HTMLTreeBuilder::processEndTag):
3407
3408 2010-08-30  Mark Rowe  <mrowe@apple.com>
3409
3410         Reviewed by Darin Adler.
3411
3412         Stop using a QuickDraw function that was only used for debugging purposes.
3413
3414         * platform/graphics/mac/SimpleFontDataMac.mm:
3415         (WebCore::pathFromFont):
3416
3417 2010-08-30  Ryosuke Niwa  <rniwa@webkit.org>
3418
3419         Reviewed by Darin Adler.
3420
3421         queryCommandValue("BackColor") returns rgb(0,0,0) for elements with transparent background
3422         https://bugs.webkit.org/show_bug.cgi?id=21680
3423
3424         The bug was caused by WebKit's using the computed style to obtain the background color,
3425         which is rgba(0,0,0,0) for nodes with transparent background color. While this is correct
3426         in the accordance to CSS2 because background-color is not inherited by default,
3427         it is not desirable for editing purposes where the background color in effect is expected.
3428
3429         Modified valueStyle in EditorCommand.cpp to call Editor::selectionStartCSSPropertyValue,
3430         instead of Frame::selectionStartStylePropertyValue, which traverses common ancestors of
3431         the selected range or caret to retrieve the effective background color of the selected region
3432         instead of the background color at the start of the selection.
3433         This takes effect when the original background color is transparent or the selection is range
3434         (to avoid picking up the background color only present at the start of paragraph).
3435
3436         Removed selectionStartStylePropertyValue and migrated it to Editor::selectionStartCSSPropertyValue.
3437
3438         Test: editing/execCommand/query-command-value-background-color.html
3439
3440         * editing/Editor.cpp:
3441         (WebCore::hasTransparentBackgroundColor): Checks whether the specified style's background color is transparent or not.
3442         (WebCore::Editor::selectionStartCSSPropertyValue): Migrated the contents of selectionStartStylePropertyValue and
3443           added the special case for background color.
3444         * editing/Editor.h: Added the prototype for selectionStartCSSPropertyValue.
3445         * editing/EditorCommand.cpp:
3446         (WebCore::valueStyle): Calls Editor::selectionStartCSSPropertyValue.
3447         * page/Frame.cpp: Removed selectionStartStylePropertyValue.
3448         * page/Frame.h: Ditto.
3449
3450 2010-08-30  Lei Zhang  <thestig@chromium.org>
3451
3452         Reviewed by Shinichiro Hamaji.
3453
3454         Defer printing until the FrameLoader finishes loading.
3455         https://bugs.webkit.org/show_bug.cgi?id=43658
3456
3457         * manual-tests/print-before-load.html: Added.
3458
3459         * loader/FrameLoader.cpp:
3460         (WebCore::FrameLoader::finishedLoading):
3461         * page/DOMWindow.cpp:
3462         (WebCore::DOMWindow::DOMWindow):
3463         (WebCore::DOMWindow::print):
3464         * page/DOMWindow.h:
3465         (WebCore::DOMWindow::printDeferred):
3466
3467 2010-08-30  Chris Rogers  <crogers@google.com>
3468
3469         Reviewed by Kenneth Russell.
3470
3471         audio engine: add ReverbConvolver class
3472         https://bugs.webkit.org/show_bug.cgi?id=34912
3473
3474         No new tests since audio API is not yet implemented.
3475
3476         * platform/audio: Added.
3477         * platform/audio/ReverbAccumulationBuffer.cpp: Added.
3478         (WebCore::ReverbAccumulationBuffer::ReverbAccumulationBuffer):
3479         (WebCore::ReverbAccumulationBuffer::readAndClear):
3480         (WebCore::ReverbAccumulationBuffer::updateReadIndex):
3481         (WebCore::ReverbAccumulationBuffer::accumulate):
3482         (WebCore::ReverbAccumulationBuffer::reset):
3483         * platform/audio/ReverbAccumulationBuffer.h: Added.
3484         (WebCore::ReverbAccumulationBuffer::readIndex):
3485         (WebCore::ReverbAccumulationBuffer::readTimeFrame):
3486         * platform/audio/ReverbConvolver.cpp: Added.
3487         (WebCore::backgroundThreadEntry):
3488         (WebCore::ReverbConvolver::ReverbConvolver):
3489         (WebCore::ReverbConvolver::~ReverbConvolver):
3490         (WebCore::ReverbConvolver::backgroundThreadEntry):
3491         (WebCore::ReverbConvolver::process):
3492         (WebCore::ReverbConvolver::reset):
3493         * platform/audio/ReverbConvolver.h: Added.
3494         (WebCore::ReverbConvolver::impulseResponseLength):
3495         (WebCore::ReverbConvolver::inputBuffer):
3496         (WebCore::ReverbConvolver::useBackgroundThreads):
3497         * platform/audio/ReverbConvolverStage.cpp: Added.
3498         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
3499         (WebCore::ReverbConvolverStage::processInBackground):
3500         (WebCore::ReverbConvolverStage::process):
3501         (WebCore::ReverbConvolverStage::reset):
3502         * platform/audio/ReverbConvolverStage.h: Added.
3503         (WebCore::ReverbConvolverStage::inputReadIndex):
3504         * platform/audio/ReverbInputBuffer.cpp: Added.
3505         (WebCore::ReverbInputBuffer::ReverbInputBuffer):
3506         (WebCore::ReverbInputBuffer::write):
3507         (WebCore::ReverbInputBuffer::directReadFrom):
3508         (WebCore::ReverbInputBuffer::reset):
3509         * platform/audio/ReverbInputBuffer.h: Added.
3510         (WebCore::ReverbInputBuffer::writeIndex):
3511
3512 2010-08-30  Nikolas Zimmermann  <nzimmermann@rim.com>
3513
3514         Reviewed by Dirk Schulze.
3515
3516         Add culling to RenderSVGContainer
3517         https://bugs.webkit.org/show_bug.cgi?id=44896
3518
3519         Cache object/strokeBoundingBox and repaintRectInLocalCoordinates() in RenderSVGContainer & RenderSVGRoot, just like it's done in RenderPath.
3520         Propagate boundary changes up the render tree, in layout phase, in order to notify parents that they should update their cached boundaries.
3521
3522         This is a huge speed benefit when interacting with an already layouted document, as there's no need anymore to traverse all children
3523         of any container or <svg> element, just to retrieve the repaint rect.
3524
3525         * rendering/RenderForeignObject.cpp:
3526         (WebCore::RenderForeignObject::layout):
3527         * rendering/RenderObject.cpp:
3528         (WebCore::RenderObject::setNeedsBoundariesUpdate):
3529         * rendering/RenderObject.h:
3530         * rendering/RenderObjectChildList.cpp:
3531         (WebCore::RenderObjectChildList::removeChildNode):
3532         * rendering/RenderPath.cpp:
3533         (WebCore::RenderPath::layout):
3534         (WebCore::RenderPath::paint):
3535         * rendering/RenderPath.h:
3536         (WebCore::RenderPath::path):
3537         (WebCore::RenderPath::setNeedsBoundariesUpdate):
3538         * rendering/RenderSVGBlock.cpp:
3539         (WebCore::RenderSVGBlock::styleWillChange):
3540         * rendering/RenderSVGBlock.h:
3541         * rendering/RenderSVGContainer.cpp:
3542         (WebCore::RenderSVGContainer::RenderSVGContainer):
3543         (WebCore::RenderSVGContainer::layout):
3544         (WebCore::RenderSVGContainer::paint):
3545         (WebCore::RenderSVGContainer::updateCachedBoundaries):
3546         * rendering/RenderSVGContainer.h:
3547         (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
3548         (WebCore::RenderSVGContainer::objectBoundingBox):
3549         (WebCore::RenderSVGContainer::strokeBoundingBox):
3550         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
3551         (WebCore::RenderSVGContainer::calculateLocalTransform):
3552         * rendering/RenderSVGGradientStop.h:
3553         (WebCore::RenderSVGGradientStop::strokeBoundingBox):
3554         * rendering/RenderSVGHiddenContainer.cpp:
3555         * rendering/RenderSVGHiddenContainer.h:
3556         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
3557         * rendering/RenderSVGImage.cpp:
3558         (WebCore::RenderSVGImage::layout):
3559         (WebCore::RenderSVGImage::styleWillChange):
3560         * rendering/RenderSVGImage.h:
3561         * rendering/RenderSVGInline.cpp:
3562         (WebCore::RenderSVGInline::styleWillChange):
3563         * rendering/RenderSVGInline.h:
3564         * rendering/RenderSVGModelObject.cpp:
3565         (WebCore::RenderSVGModelObject::styleWillChange):
3566         * rendering/RenderSVGModelObject.h:
3567         * rendering/RenderSVGRoot.cpp:
3568         (WebCore::RenderSVGRoot::RenderSVGRoot):
3569         (WebCore::RenderSVGRoot::layout):
3570         (WebCore::RenderSVGRoot::styleWillChange):
3571         (WebCore::RenderSVGRoot::updateCachedBoundaries):
3572         * rendering/RenderSVGRoot.h:
3573         (WebCore::RenderSVGRoot::setNeedsBoundariesUpdate):
3574         (WebCore::RenderSVGRoot::setNeedsTransformUpdate):
3575         (WebCore::RenderSVGRoot::objectBoundingBox):
3576         (WebCore::RenderSVGRoot::strokeBoundingBox):
3577         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
3578         * rendering/RenderSVGText.cpp:
3579         (WebCore::RenderSVGText::layout):
3580         * rendering/RenderSVGTransformableContainer.cpp: