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