Reland patch ensure font load before calling Skia during printing
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-10-27  Arthur Hsu  <arthurhsu@chromium.org>
2
3         Reland patch ensure font load before calling Skia during printing
4         https://bugs.webkit.org/show_bug.cgi?id=70390
5
6         Reviewed by James Robinson.
7
8         * platform/graphics/chromium/FontChromiumWin.cpp:
9         (WebCore::Font::drawGlyphs):
10         * platform/graphics/skia/SkiaFontWin.cpp:
11         (WebCore::paintSkiaText):
12
13 2011-10-27  Adam Barth  <abarth@webkit.org>
14
15         Attempt to fix the Qt build.
16
17         * WebCore.pro:
18
19 2011-10-27  Ryosuke Niwa  <rniwa@webkit.org>
20
21         binding test rebaseline after r98679.
22
23         * bindings/scripts/test/JS/JSTestInterface.cpp:
24         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
25         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
26         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
27         * bindings/scripts/test/JS/JSTestObj.cpp:
28         (WebCore::setJSTestObjStringAttr):
29         (WebCore::setJSTestObjStringAttrWithGetterException):
30         (WebCore::setJSTestObjStringAttrWithSetterException):
31         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
32         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
33         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
34         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
35         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
36         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
37         (WebCore::jsTestObjPrototypeFunctionIdbKey):
38         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
39         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
40         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
41         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
42         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
43         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
44         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
45         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
46         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
47         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
48         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
49         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
50         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
51         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
52         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
53         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
54         (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
55
56 2011-10-27  Adam Barth  <abarth@webkit.org>
57
58         Move type-specific exception descriptions into the implementation files for each type
59         https://bugs.webkit.org/show_bug.cgi?id=71081
60
61         Reviewed by Eric Seidel.
62
63         There's no reason to centralize this information.  It belongs with each
64         exception type.  This patch is in preparation for autogenerating the central file.
65
66         * WebCore.xcodeproj/project.pbxproj:
67         * dom/DOMCoreException.cpp: Added.
68         (WebCore::DOMCoreException::initializeDescription):
69         * dom/DOMCoreException.h:
70         * dom/EventException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
71         (WebCore::EventException::initializeDescription):
72         * dom/EventException.h:
73         * dom/ExceptionBase.h:
74         (WebCore::ExceptionBase::code):
75         (WebCore::ExceptionBase::name):
76         (WebCore::ExceptionBase::message):
77         (WebCore::ExceptionBase::description):
78         * dom/ExceptionCode.cpp:
79         (WebCore::getExceptionCodeDescription):
80         * dom/RangeException.cpp: Copied from Source/WebCore/xml/XPathException.h.
81         (WebCore::RangeException::initializeDescription):
82         * dom/RangeException.h:
83         * fileapi/FileException.cpp: Added.
84         (WebCore::FileException::initializeDescription):
85         * fileapi/FileException.h:
86         * fileapi/OperationNotAllowedException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
87         (WebCore::OperationNotAllowedException::initializeDescription):
88         * fileapi/OperationNotAllowedException.h:
89         * storage/IDBDatabaseException.cpp: Added.
90         (WebCore::IDBDatabaseException::initializeDescription):
91         * storage/IDBDatabaseException.h:
92         * storage/SQLException.cpp: Added.
93         (WebCore::SQLException::initializeDescription):
94         * storage/SQLException.h:
95         * svg/SVGException.cpp: Copied from Source/WebCore/dom/EventException.h.
96         (WebCore::SVGException::initializeDescription):
97         * svg/SVGException.h:
98         * xml/XMLHttpRequestException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
99         (WebCore::XMLHttpRequestException::initializeDescription):
100         * xml/XMLHttpRequestException.h:
101         * xml/XPathException.cpp: Copied from Source/WebCore/xml/XPathException.h.
102         (WebCore::XPathException::initializeDescription):
103         * xml/XPathException.h:
104
105 2011-10-27  Kentaro Hara  <haraken@chromium.org>
106
107         Generate WebKitCSSMatrix constructor for JSC by [Constructor] IDL
108         https://bugs.webkit.org/show_bug.cgi?id=70215
109
110         Reviewed by Adam Barth.
111
112         This patch implements [Optional=CallWithNullValue] IDL for JSC.
113         While a parameter specified as [Optional=CallWithDefaultValue] is
114         handled as a string "undefined", a parameter specified as
115         [Optional=CallWithNullValue] is handled as a null string.
116         (Note: not a string "null", but a null string).
117
118         c.f. [Optional=CallWithNullValue] is implemented in V8 in bug 67458.
119
120         Tests: fast/dom/global-constructors.html
121                transforms/svg-vs-css.xhtml
122                transforms/cssmatrix-2d-interface.xhtml
123                transforms/cssmatrix-3d-interface.xhtml
124
125         * GNUmakefile.list.am: Removed JSWebKitCSSMatrixCustom.cpp.
126         * UseJSC.cmake: Ditto.
127         * WebCore.gypi: Ditto.
128         * WebCore.pro: Ditto.
129         * WebCore.xcodeproj/project.pbxproj: Ditto.
130         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
131         * bindings/js/JSDOMBinding.h: MAYBE_MISSING_PARAMETER(exec, index, policy) returns the index-th parameter, if the parameter exists. It returns an undefined value, if the index-th parameter is missing and the policy is MissingIsUndefined. It returns an empty value, otherwise (i.e. if the index-th parameter is missing and the policy is MissingIsEmpty).
132         * bindings/js/JSWebKitCSSMatrixCustom.cpp: Removed.
133         * bindings/scripts/CodeGeneratorJS.pm:
134         (GenerateParametersCheck): Supported [Optional=CallWithNullValue].
135         (GenerateConstructorDefinition): Supported [Optional=CallWithNullValue].
136         * css/WebKitCSSMatrix.idl: Removed [JSCustomConstructor].
137
138 2011-10-27  Julien Chaffraix  <jchaffraix@webkit.org>
139
140         RenderTableCell m_row and m_column should not be signed values
141         https://bugs.webkit.org/show_bug.cgi?id=70369
142
143         Reviewed by Darin Adler.
144
145         No new tests, refactoring only.
146
147         The gist of the change is to update row / column handling in the table's
148         rendering code to use unsigned values. Not all the code is switched over
149         to unsigned but this is a good start.
150
151         Using unsigned makes a lot more sense that allowing some negative indexes
152         to creep in the algorithms. Also it enables us to "free" the unused signed
153         bit on the 2 RenderTableCell fields that can be used to pack 2 bits in a
154         follow-up patch.
155
156         * accessibility/AccessibilityTable.cpp:
157         (WebCore::AccessibilityTable::cellForColumnAndRow):
158         Removed 2 casts to int as the left side now computes to an unsigned too.
159         Added some ASSERT to make sure we don't get negative values (colSpan / rowSpan
160         are always >= 1 by definition but better to be safe).
161
162         * accessibility/AccessibilityTableColumn.cpp:
163         (WebCore::AccessibilityTableColumn::headerObjectForSection):
164         * accessibility/AccessibilityTableColumn.h:
165         Switched m_columnIndex to unsigned to remove any signed / unsigned comparisons.
166
167         * rendering/RenderTable.cpp:
168         (WebCore::RenderTable::splitColumn):
169         (WebCore::RenderTable::calcBorderEnd):
170         (WebCore::RenderTable::cellAbove):
171         (WebCore::RenderTable::cellBelow):
172         (WebCore::RenderTable::cellBefore):
173         (WebCore::RenderTable::cellAfter):
174         Mostly mechanical changes to avoid signed / unsigned comparisons or casts.
175
176         * rendering/RenderTable.h:
177         (WebCore::RenderTable::numEffCols):
178         (WebCore::RenderTable::colToEffCol):
179         Updated a couple of functions to use an unsigned.
180
181         * rendering/RenderTableCell.cpp:
182         (WebCore::RenderTableCell::RenderTableCell):
183         * rendering/RenderTableCell.h:
184         (WebCore::RenderTableCell::col):
185         (WebCore::RenderTableCell::setCol):
186         (WebCore::RenderTableCell::row):
187         (WebCore::RenderTableCell::setRow):
188         Updated after switching the fields to unsigned. Also added 2 constants
189         to cover the not-initialized-yet value for row and column indexes.
190         Note: we don't enforce that you can't reach those indexes but neither
191         did the previous code!
192
193         * rendering/RenderTableSection.cpp:
194         (WebCore::RenderTableSection::RenderTableSection):
195         (WebCore::RenderTableSection::addChild):
196         (WebCore::RenderTableSection::ensureRows):
197         (WebCore::RenderTableSection::setCellLogicalWidths):
198         (WebCore::RenderTableSection::calcRowLogicalHeight):
199         (WebCore::RenderTableSection::layoutRows):
200         (WebCore::RenderTableSection::calcOuterBorderStart):
201         (WebCore::RenderTableSection::calcOuterBorderEnd):
202         (WebCore::RenderTableSection::recalcCells):
203         (WebCore::RenderTableSection::clearGrid):
204         (WebCore::RenderTableSection::numColumns):
205         (WebCore::RenderTableSection::appendColumn):
206         (WebCore::RenderTableSection::splitColumn):
207         Lots of mechanical: signed -> unsigned changes. However we had
208         to change the logic a bit as it assumed that m_cRow started at
209         -1 and increased from there. The new meaning of m_cRow is the
210         number of rows seen and m_cRow - 1 is where to insert your new
211         cells.
212
213         (WebCore::RenderTableSection::addCell):
214         Checked the callers and all increase m_cRow before calling the function.
215         Added an ASSERT to catch up wrong usage in the future.
216
217         * rendering/RenderTableSection.h:
218         (WebCore::RenderTableSection::numRows): Switched to unsigned.
219
220 2011-10-27  Dan Bernstein  <mitz@apple.com>
221
222         Assertion failure (m_text) in RenderText::RenderText() at icanhascheezburger.com
223         https://bugs.webkit.org/show_bug.cgi?id=71085
224
225         Reviewed by Jon Honeycutt.
226
227         Test: fast/css-generated-content/attr-missing.html
228
229         * css/CSSStyleSelector.cpp:
230         (WebCore::CSSStyleSelector::applyProperty): If the element does not have the attribute specified
231         in the attr() function in the content property, set the content to the empty string, per
232         <http://www.w3.org/TR/CSS21/generate.html#content>.
233
234 2011-10-27  Helder Correia  <helder.correia@palm.com>
235
236         [Qt] Failure to build when QT_NO_CURSOR defined
237         https://bugs.webkit.org/show_bug.cgi?id=71060
238
239         Reviewed by Noam Rosenthal.
240
241         PlatformVideoWindowQt needs to wrap some code around #ifndef
242         QT_NO_CURSOR in order to build QtWebKit when QT_NO_CURSOR is defined.
243
244         Build fix, no new tests.
245
246         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
247         (FullScreenVideoWindow::FullScreenVideoWindow):
248         (FullScreenVideoWindow::closeEvent):
249         (FullScreenVideoWindow::hideCursor):
250         (FullScreenVideoWindow::showCursor):
251
252 2011-10-27  Shawn Singh  <shawnsingh@chromium.org>
253
254         [chromium] Track when CCLayerImpl properties have changed.
255         https://bugs.webkit.org/show_bug.cgi?id=70442
256
257         Reviewed by James Robinson.
258
259         To determine a good scissor rect, we must determine what
260         will change on the screen on the next redraw.  This patch
261         tracks the necessary information on CCLayerImpl and marks
262         a flag indicating whether this layer will "damage" the screen.
263         The other portion of "change", the updateRect, was already
264         landed in https://bugs.webkit.org/show_bug.cgi?id=69441.
265
266         New unit test added to CCLayerImplTest to test this patch.
267
268         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
269         (WebCore::CCLayerImpl::CCLayerImpl):
270         (WebCore::CCLayerImpl::scrollBy):
271         (WebCore::CCLayerImpl::noteLayerPropertyChangedForSubtree):
272         (WebCore::CCLayerImpl::noteLayerPropertyChangedForDescendants):
273         (WebCore::CCLayerImpl::setBounds):
274         (WebCore::CCLayerImpl::setMaskLayer):
275         (WebCore::CCLayerImpl::setReplicaLayer):
276         (WebCore::CCLayerImpl::setDrawsContent):
277         (WebCore::CCLayerImpl::setAnchorPoint):
278         (WebCore::CCLayerImpl::setAnchorPointZ):
279         (WebCore::CCLayerImpl::setMasksToBounds):
280         (WebCore::CCLayerImpl::setOpaque):
281         (WebCore::CCLayerImpl::setOpacity):
282         (WebCore::CCLayerImpl::setPosition):
283         (WebCore::CCLayerImpl::setPreserves3D):
284         (WebCore::CCLayerImpl::setSublayerTransform):
285         (WebCore::CCLayerImpl::setTransform):
286         (WebCore::CCLayerImpl::setDebugBorderColor):
287         (WebCore::CCLayerImpl::setDebugBorderWidth):
288         (WebCore::CCLayerImpl::setContentBounds):
289         (WebCore::CCLayerImpl::setScrollPosition):
290         (WebCore::CCLayerImpl::setScrollDelta):
291         (WebCore::CCLayerImpl::setDoubleSided):
292         * platform/graphics/chromium/cc/CCLayerImpl.h:
293         (WebCore::CCLayerImpl::layerPropertyChanged):
294         (WebCore::CCLayerImpl::resetLayerPropertyChanged):
295
296 2011-10-27  Anders Carlsson  <andersca@apple.com>
297
298         Add a Plugin::geometryDidChange that will work with transforms
299         https://bugs.webkit.org/show_bug.cgi?id=71072
300
301         Reviewed by Simon Fraser.
302
303         Export symbols needed by WebKit2.
304
305         * WebCore.exp.in:
306
307 2011-10-27  Adam Barth  <abarth@webkit.org>
308
309         Exception subtypes have incorrect namespace indentation
310         https://bugs.webkit.org/show_bug.cgi?id=71075
311
312         Reviewed by Eric Seidel.
313
314         This patch is in preparation for editing these headers.  We decided to
315         not indent namespaces in headers and update the headers as we edited
316         them.
317
318         * dom/DOMCoreException.h:
319         (WebCore::DOMCoreException::create):
320         (WebCore::DOMCoreException::DOMCoreException):
321         * dom/EventException.h:
322         (WebCore::EventException::create):
323         (WebCore::EventException::EventException):
324         * dom/RangeException.h:
325         (WebCore::RangeException::create):
326         (WebCore::RangeException::RangeException):
327         * xml/XMLHttpRequestException.h:
328         (WebCore::XMLHttpRequestException::create):
329         (WebCore::XMLHttpRequestException::XMLHttpRequestException):
330         * xml/XPathException.h:
331         (WebCore::XPathException::create):
332         (WebCore::XPathException::XPathException):
333
334 2011-10-27  Kenneth Russell  <kbr@google.com>
335
336         Implement new restrictions on uniform and attribute location lengths
337         https://bugs.webkit.org/show_bug.cgi?id=70981
338
339         Reviewed by Chris Marrin.
340
341         Tests: fast/canvas/webgl/attrib-location-length-limits.html
342                fast/canvas/webgl/uniform-location-length-limits.html
343
344         * html/canvas/WebGLRenderingContext.cpp:
345         (WebCore::WebGLRenderingContext::bindAttribLocation):
346         (WebCore::WebGLRenderingContext::getAttribLocation):
347         (WebCore::WebGLRenderingContext::getUniformLocation):
348         (WebCore::WebGLRenderingContext::validateLocationLength):
349         * html/canvas/WebGLRenderingContext.h:
350
351 2011-10-27  Rafael Weinstein  <rafaelw@chromium.org>
352
353         [MutationObservers] Implement subtree observation of transiently disconnected nodes
354         https://bugs.webkit.org/show_bug.cgi?id=70788
355
356         Reviewed by Ryosuke Niwa.
357
358         This patch adds support for observing all descendant nodes reachable from a subtree
359         observation until delivery of mutations -- even if they become detached. We do this by
360         introducing a "transient registration" which can exist for a short time along side
361         normal registrations on Node. Transient registrations have a reference to the node
362         which "owns" the subtree observation registration (the "registrationNode"). Transient
363         registrations are cleared immediately before mutations are delivered to an observer,
364         or when the observer re-observes at the registrationNode, in-effect resetting the
365         observation.
366
367         New tests added to fast/mutation/observe-subtree.html.
368
369         * dom/CharacterData.cpp:
370         (WebCore::CharacterData::dispatchModifiedEvent):
371         * dom/ChildListMutationScope.cpp:
372         (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::ChildListMutationAccumulator):
373         (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
374         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
375         * dom/ContainerNode.cpp:
376         (WebCore::dispatchChildRemovalEvents):
377         * dom/Element.cpp:
378         (WebCore::enqueueAttributesMutationRecord):
379         * dom/Node.cpp:
380         (WebCore::addMatchingObservers):
381         (WebCore::Node::getRegisteredMutationObserversOfType):
382         (WebCore::Node::registerMutationObserver):
383         (WebCore::Node::unregisterMutationObserver):
384         (WebCore::Node::notifySubtreeObserversOfDisconnection):
385         * dom/Node.h:
386         * dom/NodeRareData.h:
387         (WebCore::MutationObserverEntry::MutationObserverEntry):
388         (WebCore::MutationObserverEntry::operator==):
389         * dom/WebKitMutationObserver.cpp:
390         (WebCore::WebKitMutationObserver::observe):
391         (WebCore::unregisterTransientEntries):
392         (WebCore::WebKitMutationObserver::disconnect):
393         (WebCore::WebKitMutationObserver::observedNodeDestructed):
394         (WebCore::WebKitMutationObserver::observedSubtreeWillDisconnect):
395         (WebCore::WebKitMutationObserver::clearTransientEntries):
396         (WebCore::WebKitMutationObserver::deliver):
397         * dom/WebKitMutationObserver.h:
398
399 2011-10-27  Pratik Solanki  <psolanki@apple.com>
400
401         Ask CG to not parse image metadata
402         https://bugs.webkit.org/show_bug.cgi?id=71029
403
404         Reviewed by Simon Fraser.
405
406         We don't need CG to parse the image metadata since WebCore never uses it. Passing this
407         option shaves off time spent under CGImageSourceCopyPropertiesAtIndex. Under Instruments I
408         saw the time drop from ~75ms to ~25ms when loading http://boston.com/bigpicture and the
409         first link on that page.
410
411         No new tests because no change in functionality.
412
413         * platform/graphics/ImageSource.h:
414         * platform/graphics/cg/ImageSourceCG.cpp:
415         (WebCore::imageSourceOptions):
416         (WebCore::ImageSource::isSizeAvailable):
417         (WebCore::ImageSource::frameSizeAtIndex):
418         (WebCore::ImageSource::getHotSpot):
419         (WebCore::ImageSource::repetitionCount):
420         (WebCore::ImageSource::createFrameAtIndex):
421         (WebCore::ImageSource::frameDurationAtIndex):
422
423 2011-10-27  David Grogan  <dgrogan@chromium.org>
424
425         Move eventqueue from Document to ScriptExecutionContext so that it can be accessed from workers
426         https://bugs.webkit.org/show_bug.cgi?id=57789
427
428         Extract interface from EventQueue and create two new subclasses:
429         DocumentEventQueue and WorkerEventQueue.  DocumentEventQueue is the
430         old EventQueue implementation that uses DOMTimer(0) to post async
431         events.  WorkerEventQueue posts events to its thread's message loop.
432
433         Reviewed by David Levin.
434
435         No new tests - IndexedDB will use this but isn't ready yet.  I don't
436         know of any other API available in workers that I can test this with.
437
438         * GNUmakefile.list.am:
439         * WebCore.gypi:
440         * WebCore.pro:
441         * WebCore.xcodeproj/project.pbxproj:
442         * dom/DOMAllInOne.cpp:
443         * dom/Document.cpp:
444         (WebCore::Document::Document):
445         * dom/Document.h:
446         (WebCore::Document::eventQueue):
447         * dom/DocumentEventQueue.cpp: Renamed from Source/WebCore/dom/EventQueue.cpp.
448         (WebCore::shouldDispatchScrollEventSynchronously):
449         (WebCore::DocumentEventQueueTimer::DocumentEventQueueTimer):
450         (WebCore::DocumentEventQueueTimer::fired):
451         (WebCore::DocumentEventQueue::create):
452         (WebCore::DocumentEventQueue::DocumentEventQueue):
453         (WebCore::DocumentEventQueue::~DocumentEventQueue):
454         (WebCore::DocumentEventQueue::enqueueEvent):
455         (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
456         (WebCore::DocumentEventQueue::cancelEvent):
457         (WebCore::DocumentEventQueue::close):
458         (WebCore::DocumentEventQueue::pendingEventTimerFired):
459         (WebCore::DocumentEventQueue::dispatchEvent):
460         * dom/DocumentEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
461         * dom/EventQueue.h:
462         * dom/ScriptExecutionContext.h:
463         * page/EventHandler.cpp: Change EventQueue to DocumentEventQueue.
464         (WebCore::EventHandler::sendScrollEvent): Change EventQueue to DocumentEventQueue.
465         * rendering/RenderLayer.cpp:
466         (WebCore::RenderLayer::scrollTo): Change EventQueue to DocumentEventQueue.
467         * rendering/RenderListBox.cpp:
468         (WebCore::RenderListBox::scrollTo): Change EventQueue to DocumentEventQueue.
469         * storage/IDBDatabase.cpp:
470         * storage/IDBRequest.cpp:
471         * storage/IDBTransaction.cpp:
472         * workers/WorkerContext.cpp:
473         (WebCore::WorkerContext::eventQueue):
474         * workers/WorkerContext.h:
475         * workers/WorkerEventQueue.cpp: Added.
476         (WebCore::WorkerEventQueue::create):
477         (WebCore::WorkerEventQueue::WorkerEventQueue):
478         (WebCore::WorkerEventQueue::~WorkerEventQueue):
479         (WebCore::WorkerEventQueue::EventDispatcherTask::create):
480         (WebCore::WorkerEventQueue::EventDispatcherTask::dispatchEvent):
481         (WebCore::WorkerEventQueue::EventDispatcherTask::performTask):
482         (WebCore::WorkerEventQueue::EventDispatcherTask::cancel):
483         (WebCore::WorkerEventQueue::EventDispatcherTask::EventDispatcherTask):
484         (WebCore::WorkerEventQueue::removeEvent):
485         (WebCore::WorkerEventQueue::enqueueEvent):
486         (WebCore::WorkerEventQueue::cancelEvent):
487         (WebCore::WorkerEventQueue::close):
488         * workers/WorkerEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
489
490 2011-10-27  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
491
492         [GStreamer] Prevent memory leak when fullscreening a video
493         https://bugs.webkit.org/show_bug.cgi?id=71043
494
495         Reviewed by Gustavo Noronha Silva.
496
497         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
498         (WebCore::GStreamerGWorld::GStreamerGWorld):
499         (WebCore::GStreamerGWorld::enterFullscreen):
500         (WebCore::GStreamerGWorld::exitFullscreen):
501         * platform/graphics/gstreamer/GStreamerGWorld.h:
502
503 2011-10-27  Joseph Pecoraro  <pecoraro@apple.com>
504
505         Reviewed by David Kilzer.
506
507         Make FeatureDefines Identical Across OS X Projects
508         https://bugs.webkit.org/show_bug.cgi?id=71051
509
510         * Configurations/FeatureDefines.xcconfig:
511
512 2011-10-27  Joseph Pecoraro  <pecoraro@apple.com>
513
514         Correctly Guard Exported REQUEST_ANIMATION_FRAME Symbols
515         https://bugs.webkit.org/show_bug.cgi?id=71047
516
517         Reviewed by David Kilzer.
518
519         * WebCore.exp.in:
520
521 2011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
522
523         Unreviewed, rolling out r98626.
524         http://trac.webkit.org/changeset/98626
525         https://bugs.webkit.org/show_bug.cgi?id=71066
526
527         Does not compile on cr-win (Requested by jamesr_ on #webkit).
528
529         * platform/graphics/chromium/FontChromiumWin.cpp:
530         (WebCore::Font::drawGlyphs):
531         * platform/graphics/skia/SkiaFontWin.cpp:
532         (WebCore::paintSkiaText):
533
534 2011-10-27  Tony Chang  <tony@chromium.org>
535
536         Fix a compiler warning caught by gcc 4.6.1. Need to return something.
537
538         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
539         (WebCore::CCSchedulerStateMachine::nextAction):
540
541 2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
542
543         Web Inspector: Advanced search style fixes.
544         https://bugs.webkit.org/show_bug.cgi?id=71036
545
546         Reviewed by Pavel Feldman.
547
548         * inspector/front-end/AdvancedSearchController.js:
549         (WebInspector.SearchView):
550         * inspector/front-end/Images/statusbarButtonGlyphs.png:
551         * inspector/front-end/inspector.css:
552         (.search-view .search-panel):
553         (.search-view .search-panel input[type="search"].search-config-search):
554         (.search-view .search-panel input[type="checkbox"].search-config-checkbox):
555         (body:not(.platform-mac) .search-view .search-panel input[type="checkbox"].search-config-checkbox):
556         (body.platform-mac .search-view .search-panel input[type="checkbox"].search-config-checkbox):
557         (#drawer-status-bar .search-status-bar-progress):
558         (body:not(.platform-mac) #drawer-status-bar .search-status-bar-progress):
559         (body.platform-mac #drawer-status-bar .search-status-bar-progress):
560
561 2011-10-27  David Hyatt  <hyatt@apple.com>
562
563         https://bugs.webkit.org/show_bug.cgi?id=71061
564         
565         [CSS Line Grid] Add support for parsing the line-grid property.
566
567         New tests in fast/line-grid.
568
569         Reviewed by Dan Bernstein.
570
571         * css/CSSComputedStyleDeclaration.cpp:
572         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
573         * css/CSSParser.cpp:
574         (WebCore::CSSParser::parseValue):
575         * css/CSSProperty.cpp:
576         (WebCore::CSSProperty::isInheritedProperty):
577         * css/CSSPropertyNames.in:
578         * css/CSSStyleSelector.cpp:
579         (WebCore::CSSStyleSelector::applyProperty):
580         * rendering/style/RenderStyle.h:
581         (WebCore::InheritedFlags::lineGrid):
582         (WebCore::InheritedFlags::setLineGrid):
583         (WebCore::InheritedFlags::initialLineGrid):
584         * rendering/style/StyleRareInheritedData.cpp:
585         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
586         (WebCore::StyleRareInheritedData::operator==):
587         * rendering/style/StyleRareInheritedData.h:
588
589 2011-10-27  Fady Samuel  <fsamuel@chromium.org>
590
591         iframes seem to occasionally doubly scale or scale incorrectly when pageScaleFactor != 1.0
592         https://bugs.webkit.org/show_bug.cgi?id=70552
593
594         Reviewed by Simon Fraser.
595
596         Test: fast/frames/iframe-double-scale-contents.html
597
598         The iframe's document style was using the page's scale factor, rather than the frame's (1.0).
599         If the page scale factor was set after layout was complete, then this would have no impact because the iframe's document style and layout is not recomputed, 
600         but if the page scale factor is set prior to creating and laying out the iframe, the iframe's content would be doubly scaled.
601
602         * css/CSSStyleSelector.cpp:
603         (WebCore::CSSStyleSelector::styleForDocument):
604
605 2011-10-27  Nat Duca  <nduca@chromium.org>
606
607         Unreviewed, fix CCSchedulerStateMachine build errors.
608
609         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
610         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
611
612 2011-10-27  Tony Chang  <tony@chromium.org>
613
614         fix sizing of auto sized flexbox
615         https://bugs.webkit.org/show_bug.cgi?id=70839
616
617         Reviewed by David Hyatt.
618
619         Correctly set the height of the flexbox when we have a column flow
620         and the height is auto.
621
622         Tests: css3/flexbox/columns-auto-size.html
623                css3/flexbox/flex-flow-margins-auto-size.html
624
625         * rendering/RenderFlexibleBox.cpp:
626         (WebCore::RenderFlexibleBox::layoutBlock): Always computeLogicalHeight() after we're done placing children.
627         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection): Set the height as we place children.
628
629 2011-10-25  Vangelis Kokkevis  <vangelis@chromium.org>
630
631         Add support for creating compositing layers for fixed position elements.
632         https://bugs.webkit.org/show_bug.cgi?id=69796
633
634         position:fixed elements will get a compositing layer if:
635         1. Settings:acceleratedCompositingForFixedPositionEnabled() returns true, 
636         2. The element has its own stacking context (e.g. has a z-index), and
637         3. The element's container is the RenderView (e.g. not a descendant of a transformed element)
638
639         Reviewed by Simon Fraser.
640
641
642         Test: compositing/geometry/fixed-position-composited-switch.html
643
644         * page/Settings.cpp:
645         (WebCore::Settings::Settings):
646         * page/Settings.h:
647         (WebCore::Settings::setAcceleratedCompositingForFixedPositionEnabled):
648         (WebCore::Settings::acceleratedCompositingForFixedPositionEnabled):
649         * rendering/RenderLayerCompositor.cpp:
650         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
651         (WebCore::RenderLayerCompositor::updateCompositingLayers):
652         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
653         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
654         * rendering/RenderLayerCompositor.h:
655         * testing/Internals.cpp:
656         (WebCore::Internals::setEnableCompositingForFixedPosition):
657         * testing/Internals.h:
658         * testing/Internals.idl:
659
660 2011-10-27  Arthur Hsu  <arthurhsu@chromium.org>
661
662         https://bugs.webkit.org/show_bug.cgi?id=70390
663         Ensure font load for Skia backend during printing.
664
665         Reviewed by James Robinson.
666
667         * platform/graphics/chromium/FontChromiumWin.cpp:
668         (WebCore::Font::drawGlyphs):
669         * platform/graphics/skia/SkiaFontWin.cpp:
670         (WebCore::paintSkiaText):
671
672 2011-10-27  Michael Saboff  <msaboff@apple.com>
673
674         Investigate storing strings in 8-bit buffers when possible
675         https://bugs.webkit.org/show_bug.cgi?id=66161
676
677         Changes to support 8 bit StringImpl changes.
678         
679         Reviewed by Geoffrey Garen.
680         
681         No new tests, refactored StringImpl for 8 bit strings.
682
683         * platform/text/cf/StringImplCF.cpp:
684         (WTF::StringImpl::createCFString):
685
686 2011-10-27  Nat Duca  <nduca@chromium.org>
687
688         [chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
689         https://bugs.webkit.org/show_bug.cgi?id=70714
690
691         Reland of ill-fated r98612.
692
693         Reviewed by James Robinson.
694
695         * WebCore.gypi:
696         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
697         (WebCore::CCSchedulerStateMachine::nextAction):
698         (WebCore::CCSchedulerStateMachine::updateState):
699         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
700         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
701         (WebCore::CCSchedulerStateMachine::operator=):
702         (WebCore::CCSchedulerStateMachine::commitPending):
703         (WebCore::CCSchedulerStateMachine::setNeedsRedraw):
704         (WebCore::CCSchedulerStateMachine::setNeedsCommit):
705         (WebCore::CCSchedulerStateMachine::beginFrameComplete):
706         (WebCore::CCSchedulerStateMachine::updateResourcesComplete):
707
708 2011-10-27  Pavel Podivilov  <podivilov@chromium.org>
709
710         Get rid of optional parameters in the middle in IDLs.
711         https://bugs.webkit.org/show_bug.cgi?id=70816
712
713         Reviewed by Adam Barth.
714
715         Optional parameters in the middle are prohibited by WebIDL spec.
716
717         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
718         * bindings/scripts/CodeGeneratorJS.pm:
719         (GenerateHeader):
720         (GenerateImplementation):
721         * bindings/scripts/CodeGeneratorV8.pm:
722         (GenerateHeader):
723         (GenerateArgumentsCountCheck):
724         (GenerateImplementation):
725         * bindings/scripts/test/JS/JSTestObj.cpp:
726         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
727         * bindings/scripts/test/TestObj.idl:
728         * bindings/scripts/test/V8/V8TestObj.cpp:
729         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
730         * html/canvas/CanvasRenderingContext2D.idl:
731         * page/DOMWindow.idl:
732
733 2011-10-27  Antti Koivisto  <antti@apple.com>
734
735         REGRESSION(r98542): tables/mozilla_expected_failures/bugs/bug14007-2.html
736         https://bugs.webkit.org/show_bug.cgi?id=71032
737
738         Reviewed by Dave Hyatt.
739
740         If we apply an explicitly inherited property, we need to apply any further
741         non-inherited properties as the property might get overridden again.
742
743         * css/CSSStyleSelector.cpp:
744         (WebCore::CSSStyleSelector::styleForKeyframe):
745         (WebCore::CSSStyleSelector::styleForPage):
746         (WebCore::CSSStyleSelector::applyDeclaration):
747         (WebCore::CSSStyleSelector::applyDeclarations):
748         * css/CSSStyleSelector.h:
749
750 2011-10-27  Julien Chaffraix  <jchaffraix@webkit.org>
751
752         Remove RenderTableSection::m_gridRows
753         https://bugs.webkit.org/show_bug.cgi?id=70570
754
755         Reviewed by Darin Adler.
756
757         No new test, refactoring only.
758
759         Just nuke the old field that was duplicating
760         m_grid.size().
761
762         * rendering/RenderTableSection.h:
763         (WebCore::RenderTableSection::numRows):
764         * rendering/RenderTableSection.cpp:
765         (WebCore::RenderTableSection::RenderTableSection):
766         (WebCore::RenderTableSection::ensureRows):
767         (WebCore::RenderTableSection::setCellLogicalWidths):
768         (WebCore::RenderTableSection::calcRowLogicalHeight):
769         (WebCore::RenderTableSection::layoutRows):
770         (WebCore::RenderTableSection::calcOuterBorderBefore):
771         (WebCore::RenderTableSection::calcOuterBorderAfter):
772         (WebCore::RenderTableSection::calcOuterBorderStart):
773         (WebCore::RenderTableSection::calcOuterBorderEnd):
774         (WebCore::RenderTableSection::firstLineBoxBaseline):
775         (WebCore::RenderTableSection::paint):
776         (WebCore::RenderTableSection::paintObject):
777         (WebCore::RenderTableSection::clearGrid):
778         (WebCore::RenderTableSection::numColumns):
779         (WebCore::RenderTableSection::appendColumn):
780         (WebCore::RenderTableSection::splitColumn):
781         s/m_gridRows/m_grid.size()/.
782         Also updated the code as m_grid.size() is unsigned.
783
784         (WebCore::RenderTableSection::recalcCells):
785         The old code would keep the grid's memory but we have to clear it to properly
786         count the elements. To avoid lots of small reallocations, we reallocate the
787         buffer at the old capacity upfront.
788
789 2011-10-27  Nat Duca  <nduca@chromium.org>
790
791         Unreviewed, rolling out r98612.
792         http://trac.webkit.org/changeset/98612
793         https://bugs.webkit.org/show_bug.cgi?id=70714
794
795         Broke build
796
797         * WebCore.gypi:
798         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Removed.
799         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Removed.
800
801 2011-10-24  Nat Duca  <nduca@chromium.org>
802
803         [chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
804         https://bugs.webkit.org/show_bug.cgi?id=70714
805
806         Reviewed by James Robinson.
807
808         * WebCore.gypi:
809         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
810         (WebCore::CCSchedulerStateMachine::nextAction):
811         (WebCore::CCSchedulerStateMachine::updateState):
812         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
813         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
814         (WebCore::CCSchedulerStateMachine::operator=):
815         (WebCore::CCSchedulerStateMachine::commitPending):
816         (WebCore::CCSchedulerStateMachine::setNeedsRedraw):
817         (WebCore::CCSchedulerStateMachine::setNeedsCommit):
818         (WebCore::CCSchedulerStateMachine::beginFrameComplete):
819         (WebCore::CCSchedulerStateMachine::updateResourcesComplete):
820
821 2011-10-27  Dan Bernstein  <mitz@apple.com>
822
823         <rdar://problem/10262205> Allow column progression to be independent of writing mode
824         https://bugs.webkit.org/show_bug.cgi?id=71028
825
826         Reviewed by Darin Adler.
827
828         Tests: fast/multicol/block-axis-horizontal-bt.html
829                fast/multicol/block-axis-horizontal-tb.html
830                fast/multicol/block-axis-vertical-lr.html
831                fast/multicol/block-axis-vertical-rl.html
832                fast/multicol/flipped-blocks-hit-test.html
833
834         Allow “columns” to be stacked along the block axis rather than the inline axis. This can facilitate
835         paginated interfaces. A column-axis property is added in order to enable this mode.
836
837         * css/CSSComputedStyleDeclaration.cpp:
838         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle the column-axis property.
839         * css/CSSParser.cpp:
840         (WebCore::CSSParser::parseValue): Ditto.
841         * css/CSSPrimitiveValueMappings.h:
842         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map ColumnAxis values to identifiers.
843         (WebCore::CSSPrimitiveValue::operator ColumnAxis): Map identifiers to ColumnAxis values.
844         * css/CSSProperty.cpp:
845         (WebCore::CSSProperty::isInheritedProperty): Updated to return false for the column-axis property.
846         * css/CSSPropertyNames.in: Added -webkit-column-axis.
847         * css/CSSStyleSelector.cpp:
848         (WebCore::CSSStyleSelector::applyProperty): Handle column-axis.
849         * rendering/ColumnInfo.h:
850         (WebCore::ColumnInfo::ColumnInfo): Added m_progressionAxis to the initialization list.
851         (WebCore::ColumnInfo::progressionAxis): Added this getter.
852         (WebCore::ColumnInfo::setProgressionAxis): Added this setter.
853         * rendering/RenderBlock.cpp:
854         (WebCore::RenderBlock::addOverflowFromChildren): Simplified, and thus also made this function work
855         with block-axis column progression.
856         (WebCore::RenderBlock::paintColumnRules): Added code to paint rules between columns with block-axis
857         progression.
858         (WebCore::RenderBlock::paintColumnContents): Adjusted the painting offset for the block-axis
859         column progression case.
860         (WebCore::RenderBlock::nodeAtPoint): Fixed hit-testing in flipped-blocks writing modes. This is
861         covered by flipped-blocks-hit-test.html.
862         (WebCore::RenderBlock::hitTestColumns): Adjusted the offset for the block-axis column progression
863         case.
864         (WebCore::RenderBlock::calcColumnWidth): Set the column width to the content logical width in
865         the block-axis column progression case. The column-width and column-count properties are ignored.
866         (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Set the column progression axis based on
867         the style.
868         (WebCore::RenderBlock::columnCount): Broke up an assertion into two.
869         (WebCore::RenderBlock::columnRectAt): Updated for block-axis column progression.
870         (WebCore::RenderBlock::adjustPointToColumnContents): Ditto.
871         (WebCore::RenderBlock::adjustRectForColumns): Ditto.
872         (WebCore::RenderBlock::adjustForColumns): Ditto.
873         * rendering/RenderLayer.cpp:
874         (WebCore::RenderLayer::paintChildLayerIntoColumns): Adjusted the offser for the block-axis column
875         progression case.
876         (WebCore::RenderLayer::hitTestChildLayerColumns): Ditto.
877         * rendering/style/RenderStyle.h:
878         (WebCore::InheritedFlags::columnAxis): Added this getter.
879         (WebCore::InheritedFlags::hasInlineColumnAxis): Added. Checks the column axis against the writing
880         mode.
881         (WebCore::InheritedFlags::specifiesColumns): Changed to return true if the specified column axis
882         is the block axis.
883         (WebCore::InheritedFlags::setColumnAxis): Added this setter.
884         (WebCore::InheritedFlags::initialColumnAxis): Added. Returns AutoColumnAxis.
885         * rendering/style/RenderStyleConstants.h: Added a ColumnAxis enum.
886         * rendering/style/StyleMultiColData.cpp:
887         (WebCore::StyleMultiColData::StyleMultiColData): Added m_axis to the initialization list.
888         (WebCore::StyleMultiColData::operator==): Compare m_axis.
889         * rendering/style/StyleMultiColData.h: Added m_axis member variable.
890
891 2011-10-27  Mihnea Ovidenie  <mihnea@adobe.com>
892
893         [CSSRegions]Flag regions with custom styling
894         https://bugs.webkit.org/show_bug.cgi?id=70733
895
896         Reviewed by David Hyatt.
897
898         Region elements that have custom region styling are now marked accordingly.
899
900         Test: fast/regions/render-region-custom-style-mark.html
901
902         * css/CSSStyleSelector.cpp:
903         (WebCore::CSSStyleSelector::checkRegionStyle):
904         * css/CSSStyleSelector.h:
905         * rendering/RenderRegion.cpp:
906         (WebCore::RenderRegion::RenderRegion):
907         (WebCore::RenderRegion::styleDidChange):
908         * rendering/RenderRegion.h:
909         (WebCore::RenderRegion::hasCustomRegionStyle):
910         (WebCore::RenderRegion::setHasCustomRegionStyle):
911         * rendering/RenderTreeAsText.cpp:
912         (WebCore::writeRenderFlowThreads):
913
914 2011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
915
916         Unreviewed, rolling out r98556.
917         http://trac.webkit.org/changeset/98556
918         https://bugs.webkit.org/show_bug.cgi?id=71031
919
920         The test added by the patch doesn't pass on Snow Leopard
921         (Requested by rniwa on #webkit).
922
923         * editing/TextCheckingHelper.cpp:
924         (WebCore::checkTextOfParagraph):
925         * testing/Internals.cpp:
926         * testing/Internals.h:
927         * testing/Internals.idl:
928
929 2011-10-27  Mike Reed  <reed@google.com>
930
931         [skia] replace offscreen technique with native support for antialiased clipping
932         https://bugs.webkit.org/show_bug.cgi?id=70748
933
934         Reviewed by Stephen White.
935
936         ~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
937         bits of the result. Other than that, the results should be the same, except that now the drawing
938         can go directly to the canvas, rather than being direct offscreen and then have that result
939         "clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
940         antialiased clip area.
941
942         * platform/graphics/skia/PlatformContextSkia.cpp:
943         (WebCore::PlatformContextSkia::State::State):
944         (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
945         (WebCore::PlatformContextSkia::clipPathAntiAliased):
946         (WebCore::PlatformContextSkia::restore):
947         * platform/graphics/skia/PlatformContextSkia.h:
948
949 2011-10-27  Tony Chang  <tony@chromium.org>
950
951         use main/cross instead of logical width/height when talking about flow direction
952         https://bugs.webkit.org/show_bug.cgi?id=70977
953
954         Reviewed by Ojan Vafai.
955
956         Flexbox code uses logical in function names to refer to the flow
957         direction. This is confusing because writing mode also uses logical,
958         but this is a diffent usage. To avoid confusion, be explicit about
959         main vs cross axis. Extent is used instead of width/height.
960
961         No new tests, just a refactoring.
962
963         * rendering/RenderFlexibleBox.cpp:
964         (WebCore::RenderFlexibleBox::mainAxisLengthForChild):
965         (WebCore::RenderFlexibleBox::crossAxisLength):
966         (WebCore::RenderFlexibleBox::setCrossExtent):
967         (WebCore::RenderFlexibleBox::crossExtentForChild):
968         (WebCore::RenderFlexibleBox::mainExtentForChild):
969         (WebCore::RenderFlexibleBox::crossAxisExtent):
970         (WebCore::RenderFlexibleBox::mainAxisExtent):
971         (WebCore::RenderFlexibleBox::crossAxisContentExtent):
972         (WebCore::RenderFlexibleBox::mainAxisContentExtent):
973         (WebCore::RenderFlexibleBox::crossAxisBorderAndPaddingExtent):
974         (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
975         (WebCore::RenderFlexibleBox::flowAwareLocationForChild):
976         (WebCore::RenderFlexibleBox::setFlowAwareLocationForChild):
977         (WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild):
978         (WebCore::RenderFlexibleBox::mainAxisScrollbarExtentForChild):
979         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForFlexItem):
980         (WebCore::RenderFlexibleBox::layoutInlineDirection):
981         (WebCore::RenderFlexibleBox::positiveFlexForChild): Since flex only
982             matters in the main axis, there's no reason to deambiguate it here.
983         (WebCore::RenderFlexibleBox::negativeFlexForChild): Ditto.
984         (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Alignment is always
985             in the cross axis direction, so don't include that in the method name.
986         (WebCore::RenderFlexibleBox::marginBoxAscent):
987         (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent):
988         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
989         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
990         (WebCore::RenderFlexibleBox::adjustAlignmentForChild):  Alignment is always
991             in the cross axis direction, so don't include that in the method name.
992         (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
993         * rendering/RenderFlexibleBox.h:
994
995 2011-10-27  Mark Hahnenberg  <mhahnenberg@apple.com>
996
997         De-virtualize JSCell::toThisObject
998         https://bugs.webkit.org/show_bug.cgi?id=70958
999
1000         Reviewed by Geoffrey Garen.
1001
1002         No new tests.
1003
1004         Converted all instances of toThisObject to static functions, 
1005         added toThisObject to the MethodTable, and replaced all call sites
1006         with a corresponding lookup in the MethodTable.
1007
1008         * bindings/js/JSDOMWindowBase.cpp:
1009         (WebCore::JSDOMWindowBase::toThisObject):
1010         * bindings/js/JSDOMWindowBase.h:
1011         * bindings/js/JSErrorHandler.cpp:
1012         (WebCore::JSErrorHandler::handleEvent):
1013         * bridge/NP_jsobject.cpp:
1014         (_NPN_Invoke):
1015         * bridge/qt/qt_runtime.cpp:
1016         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1017
1018 2011-10-27  Adam Roben  <aroben@apple.com>
1019
1020         Windows build fix after r98512
1021
1022         * html/HTMLMediaElement.cpp: Moved a Web Audio-related #include inside an appropriate ENABLE
1023         guard.
1024
1025 2011-10-27  Adam Roben  <aroben@apple.com>
1026
1027         Regenerate WebCore's Localizable.strings file
1028
1029         All I did was run update-webkit-localizable-strings. A few localizer comments changed, and
1030         some strings (which must have been hand-added) got moved to a different part of the file.
1031
1032         * English.lproj/Localizable.strings:
1033
1034 2011-10-27  Daniel Cheng  <dcheng@chromium.org>
1035
1036         Clean up MicroDataItemValue to use const String& instead of String
1037         https://bugs.webkit.org/show_bug.cgi?id=70978
1038
1039         Reviewed by Tony Chang.
1040
1041         * html/MicroDataItemValue.cpp:
1042         (WebCore::MicroDataItemValue::MicroDataItemValue):
1043         * html/MicroDataItemValue.h:
1044
1045 2011-10-27  Antti Koivisto  <antti@apple.com>
1046
1047         Use StringHasher to generate the matched declaration cache hash
1048         https://bugs.webkit.org/show_bug.cgi?id=71012
1049
1050         Reviewed by Kenneth Rohde Christiansen and Andreas Kling.
1051
1052         It is faster and better than the current custom function.
1053
1054         * css/CSSStyleSelector.cpp:
1055         (WebCore::CSSStyleSelector::computeDeclarationHash):
1056
1057 2011-10-27  Kentaro Hara  <haraken@chromium.org>
1058
1059         Refactor OptionsObject.cpp
1060         https://bugs.webkit.org/show_bug.cgi?id=70572
1061
1062         Reviewed by Adam Barth.
1063
1064         For example, OptionsObject::getKeyBool() is an alias of
1065         OptionsObject::getKeyValue(const String& key, bool& value).
1066         We should remove OptionsObject::getKeyXXXX() (XXXX is some specific type)
1067         and unify them into OptionsObject::get(const String& key, XXXX& value).
1068         c.f. Corresponding JSC methods are unified into
1069         JSDictionary::convertValue(JSC::ExecState*, JSC::JSValue, XXXX&).
1070
1071         The result of git diff is weird, but this patch is making just the following changes:
1072         - Replaced getKeyBool(), getKeyInt32(), getKeyDouble() and getKeyString() with get().
1073         - Renamed getKeyStringWithUndefinedOrNullCheck() to getWithUndefinedOrNullCheck().
1074         - Removed getKeyDOMStringList() and getKeyKeyRange(), since these are not used.
1075         - Move definitions of get() from .h to .cpp.
1076
1077         No new tests. No change in behavior.
1078
1079         * bindings/v8/OptionsObject.cpp:
1080         (WebCore::OptionsObject::get): Renamed from getKeyValue().
1081         (WebCore::OptionsObject::getKey): No change to this method. git diff seems to misunderstand as if it is modified.
1082         (WebCore::OptionsObject::getKeyDOMStringList): Removed, since no one is using it.
1083         (WebCore::OptionsObject::getKeyKeyRange): Ditto.
1084         (WebCore::OptionsObject::getWithUndefinedOrNullCheck): No change to this method. git diff seems to misunderstand as if it is modified.
1085         * bindings/v8/OptionsObject.h: Moved definitions of get() to OptionsObject.cpp
1086         * bindings/v8/custom/V8EventConstructors.cpp:
1087         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
1088         (WebCore::V8WebKitMutationObserver::observeCallback): Replaced getKeyXXXX() to get();
1089         * storage/IDBDatabase.cpp:
1090         (WebCore::IDBDatabase::createObjectStore): Ditto.
1091         * storage/IDBObjectStore.cpp:
1092         (WebCore::IDBObjectStore::createIndex): Ditto.
1093
1094 2011-10-27  Andreas Kling  <kling@webkit.org>
1095
1096         StyleSheet.parentStyleSheet does not work.
1097         https://bugs.webkit.org/show_bug.cgi?id=70956
1098
1099         Reviewed by Antti Koivisto.
1100
1101         Since StyleSheet is only ever parented by a CSSRule, we need
1102         to go through that rule when resolving the StyleSheet's parent.
1103
1104         Test: fast/css/stylesheet-parentStyleSheet.html
1105
1106         * css/StyleSheet.cpp:
1107         (WebCore::StyleSheet::parentStyleSheet):
1108
1109 2011-10-27  Antoine Labour  <piman@chromium.org>
1110
1111         Disable blending when drawing opaque layers
1112         https://bugs.webkit.org/show_bug.cgi?id=70085
1113
1114         Reviewed by James Robinson.
1115
1116         Covered by compositing/ tests, as well as a new unit test:
1117         CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
1118
1119         * platform/graphics/chromium/LayerChromium.cpp:
1120         (WebCore::LayerChromium::LayerChromium):
1121         (WebCore::LayerChromium::pushPropertiesTo):
1122         * platform/graphics/chromium/LayerRendererChromium.cpp:
1123         (WebCore::LayerRendererChromium::drawLayer):
1124         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1125         (WebCore::CCLayerImpl::CCLayerImpl):
1126         * platform/graphics/chromium/cc/CCLayerImpl.h:
1127         (WebCore::CCLayerImpl::setOpaque):
1128         (WebCore::CCLayerImpl::opaque):
1129
1130 2011-10-27  Joshua Bell  <jsbell@chromium.org>
1131
1132         IndexedDB: Passing empty array to IDBDatabase.transaction should raise exception
1133         https://bugs.webkit.org/show_bug.cgi?id=70251
1134
1135         Reviewed by Adam Barth.
1136
1137         IDBDatabase.transaction() supported being called with an empty array to
1138         lock all object stores. Support for this was rejected from inclusion in
1139         the IDB spec due to performance concerns. This patch removes that
1140         functionality.
1141
1142         A special case in the spec (passing a string instead of an array) worked
1143         in WebKit accidentally, by resolving the string to an empty array. This
1144         needed explicit support. Support for DOMString[] is added to the binding
1145         code generators (reliant on DOMStringList) to ensure JS arrays are not
1146         coerced to DOMStrings. This matches the proposed IDL.
1147
1148         * bindings/scripts/CodeGeneratorV8.pm:
1149         (GenerateParametersCheckExpression):
1150         (GetNativeType):
1151         (JSValueToNative):
1152         (IsArrayType):
1153         * bindings/scripts/IDLStructure.pm:
1154         * storage/IDBDatabase.cpp:
1155         (WebCore::IDBDatabase::transaction):
1156         * storage/IDBDatabase.h:
1157         (WebCore::IDBDatabase::transaction):
1158         * storage/IDBDatabase.idl:
1159         * storage/IDBTransactionBackendImpl.cpp:
1160         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
1161         (WebCore::IDBTransactionBackendImpl::objectStore):
1162
1163 2011-10-27  Ken Buchanan <kenrb@chromium.org>
1164
1165         Crash due to nested first-letter selectors
1166         https://bugs.webkit.org/show_bug.cgi?id=70457
1167
1168         Now only the lowest-level first-letter pseudostyle will be applied to
1169         a given piece of text. Previously the last renderer to have layout
1170         done would have its pseudostyle applied, no matter where it was in the
1171         tree.
1172
1173         Reviewed by David Hyatt.
1174
1175         * renderer/RenderBlock.cpp:
1176         (WebCore::RenderBlock::updateFirstLetter): Use the pseudostyle from
1177         the lowest level node to have one
1178
1179 2011-10-27  Andras Becsi  <andras.becsi@nokia.com>
1180
1181         Fix the build if NO_LISTBOX_RENDERING is enabled
1182         https://bugs.webkit.org/show_bug.cgi?id=71009
1183
1184         Reviewed by Kenneth Rohde Christiansen.
1185
1186         If NO_LISTBOX_RENDERING is enabled RenderMenuList::listBoxSelectItem uses the
1187         HTMLSelectElement::listBoxSelectItem function which was accidentally removed in r97533.
1188         Reintroduce HTMLSelectElement::listBoxSelectItem with a NO_LISTBOX_RENDERING guard to unbreak this setup.
1189
1190         This is covered by:
1191         Source/WebCore/manual-tests/no-listbox-rendering.html
1192
1193         * html/HTMLSelectElement.cpp:
1194         (WebCore::HTMLSelectElement::listBoxSelectItem): Reintroduce.
1195         * html/HTMLSelectElement.h:
1196
1197 2011-10-27  Shinya Kawanaka  <shinyak@google.com>
1198
1199         Implement legacy text check emulation in unified text check interface.
1200         https://bugs.webkit.org/show_bug.cgi?id=70299
1201
1202         Reviewed by Hajime Morita.
1203
1204         When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
1205         TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.
1206
1207         This emulation can be used by setting the flag on.
1208         This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.
1209
1210         Test: editing/spelling/spelling-unified-emulation.html
1211
1212         * editing/TextCheckingHelper.cpp:
1213         (WebCore::findBadGrammars): Added.
1214         (WebCore::findMisspellings): Added.
1215         (WebCore::checkTextOfParagraph):
1216           Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
1217         * testing/Internals.cpp:
1218         (WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
1219         (WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
1220         * testing/Internals.h:
1221         * testing/Internals.idl:
1222
1223 2011-10-27  Philippe Normand  <pnormand@igalia.com>
1224
1225         Unreviewed, remove those un-needed files committed by error in
1226         r98554.
1227
1228         * platform/audio/gstreamer/#AudioFileReaderGStreamer.h#: Removed.
1229         * platform/audio/gstreamer/.#AudioFileReaderGStreamer.h: Removed.
1230
1231 2011-10-27  Philippe Normand  <pnormand@igalia.com> and Zan Dobersek  <zandobersek@gmail.com>
1232
1233         [GStreamer] WebAudio AudioFileReader implementation
1234         https://bugs.webkit.org/show_bug.cgi?id=69834
1235
1236         Reviewed by Martin Robinson.
1237
1238         Basic FileReader implementation, supporting one or 2 audio
1239         channels. An empty AudioDestination is also provided, its complete
1240         implementation is handled in bug 69835.
1241
1242         * GNUmakefile.am:
1243         * GNUmakefile.list.am:
1244         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp: Added.
1245         (WebCore::AudioDestination::create):
1246         (WebCore::AudioDestination::hardwareSampleRate):
1247         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
1248         (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
1249         (WebCore::AudioDestinationGStreamer::start):
1250         (WebCore::AudioDestinationGStreamer::stop):
1251         * platform/audio/gstreamer/AudioDestinationGStreamer.h: Added.
1252         (WebCore::AudioDestinationGStreamer::isPlaying):
1253         (WebCore::AudioDestinationGStreamer::sampleRate):
1254         (WebCore::AudioDestinationGStreamer::sourceProvider):
1255         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: Added.
1256         (WebCore::getGStreamerAudioCaps):
1257         (WebCore::getFloatFromByteReader):
1258         (WebCore::copyGstreamerBuffersToAudioChannel):
1259         (WebCore::onAppsinkNewBufferCallback):
1260         (WebCore::messageCallback):
1261         (WebCore::onGStreamerDeinterleavePadAddedCallback):
1262         (WebCore::onGStreamerDeinterleaveReadyCallback):
1263         (WebCore::onGStreamerDecodebinPadAddedCallback):
1264         (WebCore::AudioFileReader::AudioFileReader):
1265         (WebCore::AudioFileReader::~AudioFileReader):
1266         (WebCore::AudioFileReader::handleBuffer):
1267         (WebCore::AudioFileReader::handleMessage):
1268         (WebCore::AudioFileReader::handleNewDeinterleavePad):
1269         (WebCore::AudioFileReader::deinterleavePadsConfigured):
1270         (WebCore::AudioFileReader::plugDeinterleave):
1271         (WebCore::AudioFileReader::createBus):
1272         (WebCore::createBusFromAudioFile):
1273         (WebCore::createBusFromInMemoryAudioFile):
1274         * platform/audio/gtk/AudioBusGtk.cpp: Added.
1275         (WebCore::AudioBus::loadPlatformResource):
1276
1277 2011-10-27  Philippe Normand  <pnormand@igalia.com>
1278
1279         Unreviewed, rebaseline of the bindings tests after r98501 which
1280         removed getOwnPropertySlotVirtual.
1281
1282         * bindings/scripts/test/JS/JSTestInterface.cpp:
1283         * bindings/scripts/test/JS/JSTestInterface.h:
1284         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1285         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1286         * bindings/scripts/test/JS/JSTestObj.cpp:
1287         * bindings/scripts/test/JS/JSTestObj.h:
1288         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1289         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1290
1291 2011-10-27  Ilya Tikhonovsky  <loislo@chromium.org>
1292
1293         WebInspector: View throughs the exception when a child view are removed by removeChildren call.
1294         https://bugs.webkit.org/show_bug.cgi?id=71002
1295
1296         Another followup fix after r98225.
1297
1298         Reviewed by Pavel Feldman.
1299
1300         * inspector/front-end/DatabaseTableView.js:
1301         (WebInspector.DatabaseTableView.prototype._queryFinished):
1302         (WebInspector.DatabaseTableView.prototype._queryError):
1303
1304 2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
1305
1306         Web Inspector: Execution line in selected call frame should keep showing after toggling format source.
1307         https://bugs.webkit.org/show_bug.cgi?id=70906
1308
1309         Reviewed by Yury Semikhatsky.
1310
1311         Test: inspector/debugger/selected-call-frame-after-formatting-source.html
1312
1313         * inspector/front-end/DebuggerPresentationModel.js:
1314         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
1315
1316 2011-10-27  Steve Block  <steveblock@google.com>
1317
1318         Numerous debug build fixes
1319
1320         Unreviewed build fix.
1321
1322         No new tests, buuld fix only.
1323
1324         * loader/icon/IconDatabase.cpp: urlForLogging() is used by both LOG() and LOG_ERROR()
1325         * storage/AbstractDatabase.h: databaseDebugName() is used by both LOG() and LOG_ERROR()
1326         * storage/DatabaseTask.cpp: m_complete is only available when !LOG_DISABLED
1327
1328 2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
1329
1330         Web Inspector: Refactor ScriptsPanel so that ConsoleView does not depend on it.
1331         https://bugs.webkit.org/show_bug.cgi?id=70899
1332
1333         Moved methods used in console view to DebuggerPresentationModel.
1334         Changed debuggerPaused handler logic so that selectedCallFrame is never null when debugger is paused.
1335
1336         Reviewed by Pavel Feldman.
1337
1338         * inspector/front-end/ConsoleView.js:
1339         * inspector/front-end/DebuggerPresentationModel.js:
1340         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1341         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
1342         (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
1343         (WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables.propertiesCollected):
1344         (WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables):
1345         (WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
1346         (WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
1347         * inspector/front-end/ScriptsPanel.js:
1348         (WebInspector.ScriptsPanel.prototype._consoleCommandEvaluatedInSelectedCallFrame):
1349         (WebInspector.ScriptsPanel.prototype._executionLineChanged):
1350         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
1351         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1352         (WebInspector.ScriptsPanel.prototype._updateCallFrame):
1353
1354 2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
1355
1356         Web Inspector: Add support for advanced search in content scripts.
1357         https://bugs.webkit.org/show_bug.cgi?id=70923
1358
1359         Reviewed by Yury Semikhatsky.
1360
1361         * English.lproj/localizedStrings.js:
1362         * inspector/front-end/ScriptsSearchScope.js:
1363         * inspector/front-end/SettingsScreen.js:
1364         (WebInspector.SettingsScreen):
1365
1366 2011-10-27  Ilya Tikhonovsky  <loislo@chromium.org>
1367
1368         Unreviewed one line fix for DOMStorageItemsView.
1369         It have to use this.detachChildViews instead of this.element.removeChildren after r98225.
1370
1371         * inspector/front-end/DOMStorageItemsView.js:
1372         (WebInspector.DOMStorageItemsView.prototype.update):
1373
1374 2011-10-27  Antti Koivisto  <antti@apple.com>
1375
1376         Matched declaration cache
1377         https://bugs.webkit.org/show_bug.cgi?id=70931
1378
1379         Reviewed by Darin Adler.
1380
1381         Sets of style declarations are applied repeatedly for different elements when calculating the document style.
1382         The same set of applied declarations results in the same non-inherited style, independent of the element and 
1383         its context. We can use this to build a cache to speed up style applying and to share more style data for
1384         reduced memory usage.
1385         
1386         The patch reduces RenderStyle memory use ~40% and total memory use by ~7% over HTML5 spec load.
1387         It is also ~10% progression in PerformanceTests/Parser/html5-full-render.html.
1388
1389         * css/CSSProperty.cpp:
1390         (WebCore::CSSProperty::isInheritedProperty):
1391         * css/CSSProperty.h:
1392         (WebCore::CSSProperty::CSSProperty):
1393         (WebCore::CSSProperty::isInherited):
1394         
1395             We need to know which properties are inherited, something we didn't have available so far.
1396         
1397         * css/CSSStyleSelector.cpp:
1398         (WebCore::CSSStyleSelector::matchAllRules):
1399         
1400             A set of declarations is only cacheable if it contains no element specific style. This way we
1401             don't need to worry about cache invalidation. The whole style selector is reconstructed if the
1402             stylesheets change, invalidating the cache too.
1403     
1404         (WebCore::CSSStyleSelector::styleForElement):
1405         
1406             Trigger image loads bit earlier so cached style will have them too.
1407         
1408         (WebCore::CSSStyleSelector::applyDeclaration):
1409         (WebCore::CSSStyleSelector::applyDeclarations):
1410         
1411             Allow skipping over non-inherited properties.
1412         
1413         (WebCore::CSSStyleSelector::computeDeclarationHash):
1414         
1415             Hash function for declartion cache lookups.
1416         
1417         (WebCore::operator==):
1418         (WebCore::operator!=):
1419         (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
1420         
1421             Lookup from cache.
1422         
1423         (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
1424         
1425             Add to cache.
1426         
1427         (WebCore::CSSStyleSelector::applyMatchedDeclarations):
1428         
1429             If cached style is found, copy the non-inherited properties from the cache and apply the inherited properties (if any) only.
1430         
1431             Font and zoom changes force full applying as they can affect values of other properties (this can be relaxed later).
1432         
1433         * css/CSSStyleSelector.h:
1434         (WebCore::CSSStyleSelector::MatchResult::MatchResult):
1435         
1436             Cacheability bit.
1437         
1438         * rendering/style/RenderStyle.cpp:
1439         (WebCore::RenderStyle::copyNonInheritedFrom):
1440         * rendering/style/RenderStyle.h:
1441         * rendering/style/SVGRenderStyle.cpp:
1442         (WebCore::SVGRenderStyle::copyNonInheritedFrom):
1443         * rendering/style/SVGRenderStyle.h:
1444         
1445             Functions for assembling RenderStyle from non-inherited parts of the cached style.
1446
1447 2011-10-27  Andrey Kosyakov  <caseq@chromium.org>
1448
1449         Web Inspector: [Extensions API] add ignoreCache flag to options of inspectedWindow.reload()
1450         https://bugs.webkit.org/show_bug.cgi?id=70926
1451
1452         Reviewed by Pavel Feldman.
1453
1454         Test: http/tests/inspector/extensions-ignore-cache.html
1455
1456         * inspector/front-end/ExtensionServer.js:
1457         (WebInspector.ExtensionServer.prototype._onReload):
1458         * inspector/front-end/externs.js:
1459         ():
1460
1461 2011-10-26  Steve Falkenburg  <sfalken@apple.com>
1462
1463         ResourceError doesn't support custom domains on Windows
1464         https://bugs.webkit.org/show_bug.cgi?id=70983
1465         <rdar://problem/10352145>
1466
1467         Reviewed by Oliver Hunt.
1468
1469         * platform/network/cf/ResourceErrorCF.cpp:
1470         (WebCore::ResourceError::platformLazyInit): Add fallback case for unknown error types.
1471
1472 2011-10-26  Dan Bernstein  <mitz@apple.com>
1473
1474         Fix a slider thumb rendering regression in Chromium on OS X in r98520.
1475
1476         Reviewed by Anders Carlsson.
1477
1478         * rendering/RenderThemeMac.mm:
1479         (WebCore::RenderThemeMac::paintSliderThumb): Reverted the changes to the Chromium code path.
1480
1481 2011-10-26  Julien Chaffraix  <jchaffraix@webkit.org>
1482
1483         Unreviewed, rolling out r98486.
1484         http://trac.webkit.org/changeset/98486
1485         https://bugs.webkit.org/show_bug.cgi?id=70748
1486
1487         Broke Chromium's test_expectation.txt
1488
1489         * platform/graphics/skia/PlatformContextSkia.cpp:
1490         (WebCore::PlatformContextSkia::State::State):
1491         (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
1492         (WebCore::PlatformContextSkia::clipPathAntiAliased):
1493         (WebCore::PlatformContextSkia::restore):
1494         (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
1495         * platform/graphics/skia/PlatformContextSkia.h:
1496
1497 2011-10-26  Dan Bernstein  <mitz@apple.com>
1498
1499         <rdar://problem/10350775> REGRESSION (r97032): Slider thumb is not drawn
1500         https://bugs.webkit.org/show_bug.cgi?id=70891
1501
1502         Reviewed by Anders Carlsson.
1503
1504         * platform/mac/ThemeMac.mm:
1505         (WebCore::ThemeMac::ensuredView): Set the WebCoreFlippedView’s size, because NSSliderCell
1506         always shrinks the slider thumb to fit in the control view’s bounds.
1507         * rendering/RenderThemeMac.mm:
1508         (WebCore::RenderThemeMac::paintSliderThumb): Removed workaround code no longer needed after
1509         r97032.
1510
1511 2011-10-26  Chris Rogers  <crogers@google.com>
1512
1513         Add AudioSourceProviderClient and setFormat() method so we can know audio stream format
1514         https://bugs.webkit.org/show_bug.cgi?id=70155
1515
1516         Reviewed by Eric Carlson.
1517
1518         No new tests.  There isn't yet an implementation to test.
1519
1520         * html/HTMLMediaElement.cpp:
1521         (WebCore::HTMLMediaElement::createMediaPlayer):
1522         (WebCore::HTMLMediaElement::setAudioSourceNode):
1523         Let MediaPlayer know about the MediaElementAudioSourceNode so it can callback with audio stream format information.
1524         * platform/audio/AudioSourceProvider.h:
1525         (WebCore::AudioSourceProvider::setClient):
1526         Add abstract setClient() method so a client may know about stream format information when it becomes available.
1527         * platform/audio/AudioSourceProviderClient.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
1528         (WebCore::AudioSourceProviderClient::~AudioSourceProviderClient):
1529         Add abstract class AudioSourceProviderClient which implements setFormat() to receive audio stream format information.
1530         * webaudio/MediaElementAudioSourceNode.cpp:
1531         (WebCore::MediaElementAudioSourceNode::setFormat):
1532         Concrete implementation of setFormat() so MediaElementAudioSourceNode can create necessary audio converters.
1533         * webaudio/MediaElementAudioSourceNode.h:
1534         Make MediaElementAudioSourceNode implement AudioSourceProviderClient so it can get audio stream format information
1535         when its setFormat() method is called.
1536
1537 2011-10-26  Julien Chaffraix  <jchaffraix@webkit.org>
1538
1539         Unreviewed, rolling out r98483.
1540         http://trac.webkit.org/changeset/98483
1541         https://bugs.webkit.org/show_bug.cgi?id=47156
1542
1543         Change is causing some crashes and ASSERTs.
1544
1545         * loader/cache/CachedImage.cpp:
1546         (WebCore::CachedImage::lookupImageForSize):
1547         (WebCore::CachedImage::lookupImageForRenderer):
1548         (WebCore::CachedImage::lookupOrCreateImageForRenderer):
1549         (WebCore::CachedImage::setContainerSizeForRenderer):
1550         (WebCore::CachedImage::imageSizeForRenderer):
1551         (WebCore::CachedImage::computeIntrinsicDimensions):
1552         (WebCore::CachedImage::createImage):
1553         * loader/cache/CachedImage.h:
1554         * page/ChromeClient.h:
1555         * rendering/ImageBySizeCache.cpp:
1556         (WebCore::ImageBySizeCache::addClient):
1557         (WebCore::ImageBySizeCache::removeClient):
1558         (WebCore::ImageBySizeCache::imageForSize):
1559         (WebCore::ImageBySizeCache::sizeForClient):
1560         * rendering/ImageBySizeCache.h:
1561         * rendering/RenderBoxModelObject.cpp:
1562         (WebCore::RenderBoxModelObject::calculateFillTileSize):
1563         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1564         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1565         * rendering/RenderBoxModelObject.h:
1566         * rendering/RenderImage.cpp:
1567         (WebCore::RenderImage::RenderImage):
1568         (WebCore::RenderImage::imageDimensionsChanged):
1569         (WebCore::RenderImage::isLogicalWidthSpecified):
1570         (WebCore::RenderImage::isLogicalHeightSpecified):
1571         (WebCore::RenderImage::computeReplacedLogicalWidth):
1572         (WebCore::RenderImage::computeReplacedLogicalHeight):
1573         (WebCore::RenderImage::calcAspectRatioLogicalWidth):
1574         (WebCore::RenderImage::calcAspectRatioLogicalHeight):
1575         * rendering/RenderImage.h:
1576         * rendering/RenderImageResource.cpp:
1577         (WebCore::RenderImageResource::setContainerSizeForRenderer):
1578         * rendering/RenderImageResourceStyleImage.cpp:
1579         * rendering/RenderImageResourceStyleImage.h:
1580         (WebCore::RenderImageResourceStyleImage::image):
1581         (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer):
1582         * rendering/RenderListMarker.cpp:
1583         (WebCore::RenderListMarker::computePreferredLogicalWidths):
1584         * rendering/RenderReplaced.cpp:
1585         (WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
1586         (WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
1587         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
1588         * rendering/style/StyleCachedImage.cpp:
1589         (WebCore::StyleCachedImage::computeIntrinsicDimensions):
1590         (WebCore::StyleCachedImage::setContainerSizeForRenderer):
1591         (WebCore::StyleCachedImage::addClient):
1592         (WebCore::StyleCachedImage::removeClient):
1593         * rendering/style/StyleCachedImage.h:
1594         * rendering/style/StyleGeneratedImage.h:
1595         (WebCore::StyleGeneratedImage::setContainerSizeForRenderer):
1596         * rendering/style/StyleImage.h:
1597         * rendering/style/StylePendingImage.h:
1598         (WebCore::StylePendingImage::setContainerSizeForRenderer):
1599         * rendering/svg/RenderSVGImage.cpp:
1600         (WebCore::RenderSVGImage::layout):
1601         * rendering/svg/RenderSVGRoot.cpp:
1602         (WebCore::RenderSVGRoot::computeIntrinsicWidth):
1603         (WebCore::RenderSVGRoot::computeIntrinsicHeight):
1604         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
1605         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
1606         (WebCore::RenderSVGRoot::layout):
1607         (WebCore::RenderSVGRoot::paint):
1608         (WebCore::RenderSVGRoot::calcViewport):
1609         (WebCore::RenderSVGRoot::computeRectForRepaint):
1610         * rendering/svg/RenderSVGRoot.h:
1611         * svg/SVGLength.cpp:
1612         (WebCore::SVGLength::determineViewport):
1613         * svg/SVGSVGElement.cpp:
1614         (WebCore::SVGSVGElement::SVGSVGElement):
1615         (WebCore::SVGSVGElement::relativeWidthValue):
1616         (WebCore::SVGSVGElement::relativeHeightValue):
1617         (WebCore::SVGSVGElement::currentViewBoxRect):
1618         * svg/SVGSVGElement.h:
1619         (WebCore::SVGSVGElement::setContainerSize):
1620         (WebCore::SVGSVGElement::containerSize):
1621         (WebCore::SVGSVGElement::hasSetContainerSize):
1622         * svg/graphics/SVGImage.cpp:
1623         (WebCore::SVGImage::setContainerSize):
1624         (WebCore::SVGImage::usesContainerSize):
1625         (WebCore::SVGImage::size):
1626         (WebCore::SVGImage::hasRelativeWidth):
1627         (WebCore::SVGImage::hasRelativeHeight):
1628         (WebCore::SVGImage::draw):
1629         (WebCore::SVGImage::computeIntrinsicDimensions):
1630         (WebCore::SVGImage::dataChanged):
1631         * svg/graphics/SVGImage.h:
1632
1633 2011-10-26  Eric Carlson  <eric.carlson@apple.com>
1634
1635         Constructors for all TextTrack interfaces should be available on DOMWindow
1636         https://bugs.webkit.org/show_bug.cgi?id=70734
1637
1638         Reviewed by Sam Weinig.
1639         
1640         window-properties-expected.txt and global-constructors-expected.txt updated for this change.
1641
1642         * page/DOMWindow.idl: Add HTMLTrackElement, TextTrack, and TextTrackCueList.
1643
1644 2011-10-25  Andy Estes  <aestes@apple.com>
1645
1646         REGRESSION (r93108): Shadow DOM media controls created for plug-in backed media elements.
1647         https://bugs.webkit.org/show_bug.cgi?id=70872
1648
1649         Reviewed by Eric Carlson.
1650
1651         r93108 added a call to HTMLMediaElement::configureMediaControls() in
1652         HTMLMediaElement::prepareForLoad(), which creates shadow DOM media
1653         controls and is only appropriate to call when media elements are not
1654         backed by plug-in proxies.
1655
1656         Resolve this by refactoring configureMediaControls() to do the right
1657         thing for the plug-in proxy case by calling MediaPlayer::setControls().
1658
1659         * html/HTMLMediaElement.cpp:
1660         (WebCore::HTMLMediaElement::attributeChanged): Call
1661         configureMediaControls() directly and remove the preprocessor
1662         conditional.
1663         (WebCore::HTMLMediaElement::configureMediaControls): Call
1664         MediaPlayer::setControls() if PLUGIN_PROXY_FOR_VIDEO is enabled.
1665
1666 2011-10-26  Jon Lee  <jonlee@apple.com>
1667
1668         selectedIndex gets set from -1 to 0 when modifying options
1669         https://bugs.webkit.org/show_bug.cgi?id=70547
1670         <rdar://problem/8388856>
1671
1672         Reviewed by Darin Adler.
1673
1674         Changing the text causes a recalculation of the list items, which in the menu list case
1675         forces the first element to be selected. We check the value of the selected option prior,
1676         and restore it if it differs.
1677
1678         Test: fast/dom/HTMLSelectElement/selected-index-preserved-when-option-text-changes.html
1679
1680         * html/HTMLOptionElement.cpp:
1681         (WebCore::HTMLOptionElement::setText):
1682         * html/HTMLSelectElement.h: promote usesMenuList() from private to public for use by HTMLOptionElement
1683
1684 2011-10-25  Alexey Proskuryakov  <ap@apple.com>
1685
1686         Embedded PDFs should be known to DocumentLoader
1687         https://bugs.webkit.org/show_bug.cgi?id=70864
1688
1689         Reviewed by Darin Adler.
1690
1691         * WebCore.exp.in: Added exports.
1692
1693 2011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
1694
1695         Remove getOwnPropertySlotVirtual
1696         https://bugs.webkit.org/show_bug.cgi?id=70741
1697
1698         Reviewed by Geoffrey Garen.
1699
1700         No new tests.
1701
1702         Removed all declarations and definitions of getOwnPropertySlotVirtual.
1703         Also replaced all call sites to getOwnPropertyVirtualVirtual with a 
1704         corresponding lookup in the MethodTable.
1705
1706         * WebCore.exp.in:
1707         * bindings/js/JSDOMWindowCustom.cpp:
1708         (WebCore::DialogHandler::returnValue):
1709         * bindings/js/JSDOMWindowShell.cpp:
1710         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
1711         * bindings/js/JSDOMWindowShell.h:
1712         * bindings/js/SerializedScriptValue.cpp:
1713         (WebCore::CloneSerializer::getSparseIndex):
1714         (WebCore::CloneSerializer::getProperty):
1715         * bindings/scripts/CodeGeneratorJS.pm:
1716         (GenerateHeader):
1717         (GenerateImplementation):
1718         (GenerateConstructorDeclaration):
1719         (GenerateConstructorDefinition):
1720         * bridge/objc/objc_runtime.h:
1721         * bridge/objc/objc_runtime.mm:
1722         * bridge/qt/qt_runtime.cpp:
1723         * bridge/qt/qt_runtime.h:
1724         * bridge/runtime_array.cpp:
1725         * bridge/runtime_array.h:
1726         * bridge/runtime_method.cpp:
1727         * bridge/runtime_method.h:
1728         * bridge/runtime_object.cpp:
1729         * bridge/runtime_object.h:
1730
1731 2011-10-26  Alejandro G. Castro  <alex@igalia.com>
1732
1733         [GTK] Fix distcheck compilation
1734         https://bugs.webkit.org/show_bug.cgi?id=70921
1735
1736         Add EventTargetFactory.in to the dist files, required after
1737         r98388.
1738
1739         Reviewed by Martin Robinson.
1740
1741         * GNUmakefile.am:
1742
1743 2011-10-26  Michael Saboff  <msaboff@apple.com>
1744
1745         Increase StringImpl Flag Bits for 8 bit Strings
1746         https://bugs.webkit.org/show_bug.cgi?id=70937
1747
1748         Increased the number of bits used for flags in StringImpl
1749         from 6 to 8 bits. This frees up 2 flag bits that will be
1750         used for 8-bit string support. Updated hash methods accordingly.
1751         Changed hash value masking from the low bits to the high
1752         bits.
1753
1754         Reviewed by Darin Adler.
1755
1756         * bindings/scripts/CodeGeneratorJS.pm:
1757         (GenerateHashValue):
1758
1759 2011-10-26  Dimitri Glazkov  <dglazkov@chromium.org>
1760
1761         REGRESSION (r94887): Scrolling the HTML spec is more jerky now than it was (regression)
1762         https://bugs.webkit.org/show_bug.cgi?id=70857
1763
1764         Revert r94887, because it regressed performance.
1765
1766         Rubber-stamped by Antti Koivisto.
1767
1768         * css/CSSStyleSelector.cpp:
1769         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1770         (WebCore::parentStylePreventsSharing):
1771         * css/SelectorChecker.cpp:
1772         (WebCore::SelectorChecker::checkSelector):
1773         * dom/Element.cpp:
1774         (WebCore::Element::recalcStyle):
1775         (WebCore::checkForSiblingStyleChanges):
1776         * rendering/style/RenderStyle.cpp:
1777         (WebCore::RenderStyle::RenderStyle):
1778         * rendering/style/RenderStyle.h:
1779         (WebCore::InheritedFlags::childrenAffectedByDirectAdjacentRules):
1780         (WebCore::InheritedFlags::setChildrenAffectedByDirectAdjacentRules):
1781
1782 2011-10-26  Alexander Pavlov  <apavlov@chromium.org>
1783
1784         Web Inspector: Need workaround for the red crossed circle in the status bar not bringing up the console when clicked
1785         https://bugs.webkit.org/show_bug.cgi?id=70928
1786
1787         Reviewed by Pavel Feldman.
1788
1789         * inspector/front-end/inspector.css:
1790         (#error-count-img):
1791         (#error-count + #warning-count-img):
1792         (#warning-count-img):
1793         * inspector/front-end/inspector.js:
1794         (WebInspector._updateErrorAndWarningCounts):
1795
1796 2011-10-26  Mike Reed  <reed@google.com>
1797
1798         [skia] replace offscreen technique with native support for antialiased clipping
1799         https://bugs.webkit.org/show_bug.cgi?id=70748
1800
1801         Reviewed by Stephen White.
1802
1803         ~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
1804         bits of the result. Other than that, the results should be the same, except that now the drawing
1805         can go directly to the canvas, rather than being direct offscreen and then have that result
1806         "clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
1807         antialiased clip area.
1808
1809         * platform/graphics/skia/PlatformContextSkia.cpp:
1810         (WebCore::PlatformContextSkia::State::State):
1811         (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
1812         (WebCore::PlatformContextSkia::clipPathAntiAliased):
1813         (WebCore::PlatformContextSkia::restore):
1814
1815 2011-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1816
1817         CSS 2.1 failure: background-intrinsic-*
1818         https://bugs.webkit.org/show_bug.cgi?id=47156
1819
1820         SVGs do not work as tiled background images
1821         https://bugs.webkit.org/show_bug.cgi?id=16281
1822
1823         Apply preserveAspectRatio and synthesize viewboxes in <img>
1824         https://bugs.webkit.org/show_bug.cgi?id=34521
1825
1826         SVG background doesn't resize properly when dimensions are changed
1827         https://bugs.webkit.org/show_bug.cgi?id=42944
1828
1829         Images with percent height inside a floated div should use intrinsic height.
1830         https://bugs.webkit.org/show_bug.cgi?id=45439
1831
1832         SVG image in HTML changes size as the window is resized
1833         https://bugs.webkit.org/show_bug.cgi?id=52045
1834
1835         Reviewed by Antti Koivisto.
1836
1837         Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
1838         This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.
1839
1840         Tests: css2.1/20110323/background-intrinsic-001.htm
1841                css2.1/20110323/background-intrinsic-002.htm
1842                css2.1/20110323/background-intrinsic-003.htm
1843                css2.1/20110323/background-intrinsic-004.htm
1844                css2.1/20110323/background-intrinsic-005.htm
1845                css2.1/20110323/background-intrinsic-006.htm
1846                css2.1/20110323/background-intrinsic-007.htm
1847                css2.1/20110323/background-intrinsic-008.htm
1848                css2.1/20110323/background-intrinsic-009.htm
1849                svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
1850                svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
1851                svg/as-background-image/same-image-two-instances-background-image.html
1852                svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
1853                svg/as-image/same-image-two-instances.html
1854                svg/as-image/svg-as-relative-image-with-explicit-size.html
1855                svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
1856                svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
1857
1858         * loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
1859         (WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
1860         (WebCore::CachedImage::lookupImageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
1861         (WebCore::createSVGImage): Refactored from createImage(), contains the SVGImage creation part only.
1862         (WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
1863         (WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
1864         (WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
1865         (WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
1866         (WebCore::CachedImage::addClientForRenderer): Special variant of addClient(), overriding the existing in CachedResource.
1867         (WebCore::CachedImage::removeClientForRenderer): Special variant of removeClient(), that also clears the image in the ImageBySizeCache.
1868         (WebCore::CachedImage::createImage): Refactor SVGImage creation into createSVGImage() free function, to be useable from lookupOrCreateImageForRenderer().
1869         * loader/cache/CachedImage.h: Expose removeClientForRenderer().
1870         * page/ChromeClient.h:
1871         (WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
1872         * rendering/ImageBySizeCache.cpp:
1873         (WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
1874         (WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
1875         (WebCore::ImageBySizeCache::setClient): New helper function, that combines the usage of addClient/removeClient, for the use in CachedImage.
1876         (WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
1877         (WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
1878         * rendering/ImageBySizeCache.h: Expose setClient() & imageForRenderer().
1879         * rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
1880         (WebCore::resolveWidthForRatio): New inline helper function used bz calculateImageIntrinsicDimensions.
1881         (WebCore::resolveHeightForRatio): Ditto.
1882         (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
1883         (WebCore::resolveAgainstIntrinsicRatio):  Ditto.
1884         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
1885         (WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
1886         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
1887         (WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
1888         * rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
1889         * rendering/RenderImage.cpp:
1890         (WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
1891         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
1892         (WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
1893         (WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
1894         (WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
1895         (WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
1896         (WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
1897         * rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
1898         * rendering/RenderImageResource.cpp:
1899         (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
1900         * rendering/RenderImageResourceStyleImage.cpp:
1901         (WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
1902         (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
1903         * rendering/RenderImageResourceStyleImage.h:
1904         * rendering/RenderListMarker.cpp:
1905         (WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
1906         * rendering/RenderReplaced.cpp:
1907         (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
1908         (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
1909         (WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
1910         * rendering/style/StyleCachedImage.cpp:
1911         (WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
1912         (WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
1913         (WebCore::StyleCachedImage::addClient): Forward to new addClientForRenderer().
1914         (WebCore::StyleCachedImage::removeClient): Call new removeClientForRenderer() instead of removeClient(), so the ImageBySizeCache is also updated.
1915         * rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
1916         * rendering/style/StyleGeneratedImage.h:
1917         (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
1918         * rendering/style/StyleImage.h: Ditto.
1919         * rendering/style/StylePendingImage.h:
1920         (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
1921         * rendering/svg/RenderSVGImage.cpp:
1922         (WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
1923         * rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
1924         (WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
1925         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
1926         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
1927         (WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
1928         (WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize. 
1929         (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
1930         * rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
1931         (WebCore::RenderSVGRoot::containerSize):
1932         (WebCore::RenderSVGRoot::setContainerSize):
1933         * svg/SVGLength.cpp:
1934         (WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
1935         * svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
1936         (WebCore::SVGSVGElement::SVGSVGElement): Ditto.
1937         (WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
1938         * svg/SVGSVGElement.h:
1939         * svg/graphics/SVGImage.cpp:
1940         (WebCore::SVGImageChromeClient::setObserver): Helper function.
1941         (WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
1942         (WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
1943         (WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
1944         (WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
1945         (WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
1946         (WebCore::SVGImage::draw): Stop calling layout() while painting!
1947         (WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
1948         (WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation. 
1949         (WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
1950         * svg/graphics/SVGImage.h:
1951
1952 2011-10-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1953
1954         Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
1955         https://bugs.webkit.org/show_bug.cgi?id=70328
1956
1957         Reviewed by Simon Hausmann.
1958
1959         Also remove checks for m_client in DeviceMotionController as it can never be null.
1960
1961         No new tests, as the suspend/resume functionality is not fully working yet.
1962
1963         * dom/DeviceMotionController.cpp:
1964         (WebCore::DeviceMotionController::timerFired):
1965         (WebCore::DeviceMotionController::addListener):
1966         (WebCore::DeviceMotionController::removeListener):
1967         (WebCore::DeviceMotionController::removeAllListeners):
1968         (WebCore::DeviceMotionController::suspend):
1969         (WebCore::DeviceMotionController::resume):
1970         * dom/DeviceMotionController.h:
1971         * dom/DeviceOrientationController.cpp:
1972         (WebCore::DeviceOrientationController::suspend):
1973         (WebCore::DeviceOrientationController::resume):
1974         * dom/DeviceOrientationController.h:
1975         * dom/Document.cpp:
1976         (WebCore::Document::suspendActiveDOMObjects):
1977         (WebCore::Document::resumeActiveDOMObjects):
1978         (WebCore::Document::stopActiveDOMObjects):
1979         * dom/Document.h:
1980         * dom/ScriptExecutionContext.h:
1981         * page/GeolocationController.cpp:
1982         (WebCore::GeolocationController::GeolocationController):
1983         (WebCore::GeolocationController::removeObserver):
1984         (WebCore::GeolocationController::suspend):
1985         (WebCore::GeolocationController::resume):
1986         * page/GeolocationController.h:
1987
1988 2011-10-26  Pavel Feldman  <pfeldman@google.com>
1989
1990         Not reviewed: follow up to 98236 - moved inspector settings initialization earlier to unbreak settings panel.
1991
1992         * inspector/front-end/TextEditorModel.js:
1993         (WebInspector.TextEditorModel):
1994
1995 2011-10-26  Zalan Bujtas  <zbujtas@gmail.com>
1996
1997         Name viewport change event consistently.
1998         https://bugs.webkit.org/show_bug.cgi?id=70901
1999
2000         Reviewed by Kenneth Rohde Christiansen.
2001
2002         Use ViewportPropertiesDidChange term consistently throughout WebKit.
2003
2004         No tests needed as the change is only method renaming.
2005
2006         * page/Chrome.cpp:
2007         (WebCore::Chrome::dispatchViewportPropertiesDidChange):
2008         * page/Chrome.h:
2009         * page/ChromeClient.h:
2010         (WebCore::ChromeClient::dispatchViewportPropertiesDidChange):
2011         * page/Page.cpp:
2012         (WebCore::Page::updateViewportArguments):
2013
2014 2011-10-25  Stephen White  <senorblanco@chromium.org>
2015
2016         [chromium] Canvas2D should rate-limit drawing to prevent swamping the GPU process.
2017         https://bugs.webkit.org/show_bug.cgi?id=70367
2018
2019         Reviewed by James Robinson.
2020
2021         Sadly, we don't have infrastructure to test this kind of GPU swamping
2022         yet.
2023
2024         * WebCore.gypi:
2025         Add RateLimiter.* to the Chromium build.
2026         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2027         (WebCore::Canvas2DLayerChromium::contentChanged):
2028         When the layer is notified that the contents have changed, ping the
2029         rate limiter.
2030         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2031         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2032         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
2033         Call (new) virtual contentChanged() on a layer when its contents have
2034         been changed (e.g., by a drawing call).
2035         * platform/graphics/chromium/LayerChromium.h:
2036         (WebCore::LayerChromium::contentChanged):
2037         New virtual contentChanged().
2038         * platform/graphics/chromium/RateLimiter.cpp: Added.
2039         (WebCore::RateLimiter::create):
2040         Rate limiter factory function.
2041         (WebCore::RateLimiter::RateLimiter):
2042         (WebCore::RateLimiter::start):
2043         Public API to start rate limiting a context.
2044         (WebCore::RateLimiter::stop):
2045         Public API to stop rate limiting a context.
2046         (WebCore::RateLimiter::rateLimitContext):
2047         Internal timer callback when a context should be rate limited.
2048         * platform/graphics/chromium/RateLimiter.h: Added.
2049         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2050         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
2051         Remove rate limiting timer and extension check (moved to RateLimiter).
2052         (WebCore::WebGLLayerChromium::contentChanged):
2053         The function formerly known as setTextureUpdated(), now renamed to
2054         match the base class virtual contentChanged().  Call rate limiter in
2055         CCLayerTreeHost (local implementation removed).
2056         (WebCore::WebGLLayerChromium::setContext):
2057         When the context is changed, stop the pending rate limiter on the old
2058         context.  Remove extension check (moved to RateLimiter).
2059         * platform/graphics/chromium/WebGLLayerChromium.h:
2060         Remove rate limiting timer and extension check (moved to RateLimiter).
2061         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2062         (WebCore::CCLayerTreeHost::startRateLimiter):
2063         Public API for starting per-context rate limiter.
2064         (WebCore::CCLayerTreeHost::stopRateLimiter):
2065         Public API for stopping per-context rate limiter.
2066         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2067         Implementation of per-GraphicsContext3D RateLimiter.
2068
2069
2070 2011-10-26  Pavel Feldman  <pfeldman@chromium.org>
2071
2072         Not reviewed: fixing inspector extensions tests.
2073
2074         * inspector/front-end/ConsoleMessage.js:
2075         (WebInspector.ConsoleMessageImpl):
2076         * inspector/front-end/ExtensionServer.js:
2077         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
2078
2079 2011-10-26  Balazs Kelemen  <kbalazs@webkit.org>
2080
2081         ParallelJobs path of FEConvolveMatrix is erroneous
2082         https://bugs.webkit.org/show_bug.cgi?id=70409
2083
2084         Reviewed by Zoltan Herczeg.
2085
2086         Covered by existing tests.
2087
2088         * platform/graphics/filters/FEConvolveMatrix.cpp:
2089         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
2090         Reject the silly idea that bytes per pixel ratio is 3 in preserveAlphaValues mode.
2091         The bug was hidden so far because that computation has no effect when we are going
2092         with the full inferior area in one round (in that case clipBottom and yEnd are equals
2093         and the value of the expression is always 0). With ParallelJobs we process sub-areas
2094         on each thread which has triggered the issue.
2095
2096 2011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2097
2098         Unreviewed, rolling out r98393.
2099         http://trac.webkit.org/changeset/98393
2100         https://bugs.webkit.org/show_bug.cgi?id=70892
2101
2102         "Compilation is broken on Chromium Webkit Mac Builder (dbg) "
2103         (Requested by yurys on #webkit).
2104
2105         * platform/graphics/chromium/LayerChromium.h:
2106         (WebCore::LayerChromium::setMasksToBounds):
2107         (WebCore::LayerChromium::setMaskLayer):
2108
2109 2011-10-26  Pavel Feldman  <pfeldman@google.com>
2110
2111         Web Inspector: order console message parameters for better optional parameters handling.
2112         https://bugs.webkit.org/show_bug.cgi?id=70809
2113
2114         Reviewed by Yury Semikhatsky.
2115
2116         * inspector/Inspector.json:
2117         * inspector/front-end/ConsoleMessage.js:
2118         (WebInspector.ConsoleMessageImpl):
2119         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
2120         * inspector/front-end/ConsoleModel.js:
2121         (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
2122         (WebInspector.ConsoleMessage.create):
2123         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
2124         * inspector/front-end/ConsoleView.js:
2125         (WebInspector.ConsoleCommandResult):
2126         (WebInspector.ConsoleMessage.create):
2127         * inspector/front-end/ExtensionServer.js:
2128         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
2129         * inspector/front-end/NetworkManager.js:
2130         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
2131         * inspector/front-end/inspector.js:
2132         (WebInspector.log.logMessage):
2133         (WebInspector.log):
2134
2135 2011-10-26  Vsevolod Vlasov  <vsevik@chromium.org>
2136
2137         Web Inspector: Debugger fails when there is an invalid watch expression.
2138         https://bugs.webkit.org/show_bug.cgi?id=70718
2139
2140         Reviewed by Pavel Feldman.
2141
2142         Test: inspector/debugger/watch-expressions-panel-switch.html
2143
2144         * inspector/front-end/ScriptsPanel.js:
2145         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2146
2147 2011-10-26  Fady Samuel  <fsamuel@chromium.org>
2148
2149         Page Scale Factor broken when navigating history on pages with child frames
2150         https://bugs.webkit.org/show_bug.cgi?id=70459
2151
2152         Reviewed by Darin Fisher.
2153
2154         With frameScaleFactor now always returning 1.0 for subframes and pageScaleFactor for the mainFrame,
2155         and there being only a single pageScaleFactor, history for scaling is broken. Scaling history is
2156         saved on a per frame basis but restored, overriding the per-page pageScaleFactor multiple times.
2157         As a result, sometimes pages that have subframes end up getting a scale factor of 1.0 instead
2158         of the correct scale factor that was assigned to the main frame.
2159
2160         No new tests because I don't know how to test this.
2161
2162         * loader/HistoryController.cpp:
2163         (WebCore::HistoryController::restoreScrollPositionAndViewState):
2164
2165 2011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2166
2167         Unreviewed, rolling out r98429.
2168         http://trac.webkit.org/changeset/98429
2169         https://bugs.webkit.org/show_bug.cgi?id=70881
2170
2171         "webkit_gpu_tests fail in Chromium" (Requested by yurys on
2172         #webkit).
2173
2174         * platform/graphics/chromium/LayerRendererChromium.cpp:
2175         (WebCore::LayerRendererChromium::initialize):
2176         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2177         (WebCore::WebGLLayerChromium::layerRendererContext):
2178         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2179         (WebCore::CCHeadsUpDisplay::enabled):
2180         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2181         (WebCore::CCLayerTreeHost::initialize):
2182         (WebCore::CCLayerTreeHost::context):
2183         (WebCore::CCLayerTreeHost::setNeedsAnimate):
2184         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
2185         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2186         (WebCore::CCLayerTreeHost::composite):
2187         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2188         (WebCore::CCSettings::CCSettings):
2189         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2190         (WebCore::CCThreadProxy::setThread):
2191         * platform/graphics/chromium/cc/CCThreadProxy.h:
2192
2193 2011-10-26  Ben Wells  <benwells@chromium.org>
2194
2195         Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
2196         https://bugs.webkit.org/show_bug.cgi?id=66920
2197
2198         Reviewed by James Robinson.
2199
2200         Test: fast/canvas/canvas-composite-image.html
2201
2202         Use the same method as fills to handle composited drawImage calls that will affect the whole
2203         canvas. To do this code used when doing fills has been factored into seperate functions and
2204         used by drawImage. Some functions used to do these types of operations have also been renamed.
2205
2206         * html/canvas/CanvasRenderingContext2D.cpp:
2207         (WebCore::isFullCanvasCompositeMode):
2208         (WebCore::CanvasRenderingContext2D::fill):
2209         (WebCore::CanvasRenderingContext2D::fillRect):
2210         (WebCore::CanvasRenderingContext2D::drawImage):
2211         (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
2212         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
2213         (WebCore::CanvasRenderingContext2D::compositeBuffer):
2214         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
2215         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
2216         * html/canvas/CanvasRenderingContext2D.h:
2217
2218 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2219
2220         Unreviewed, rolling out r98379.
2221         http://trac.webkit.org/changeset/98379
2222         https://bugs.webkit.org/show_bug.cgi?id=70875
2223
2224         Did not pass on JSC ports (Requested by abarth on #webkit).
2225
2226         * bindings/scripts/CodeGeneratorJS.pm:
2227         (GenerateHeader):
2228         (GenerateImplementation):
2229         * bindings/scripts/CodeGeneratorV8.pm:
2230         (GenerateHeader):
2231         (GenerateArgumentsCountCheck):
2232         (GenerateImplementation):
2233         * html/canvas/CanvasRenderingContext2D.idl:
2234         * page/DOMWindow.idl:
2235
2236 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2237
2238         Unreviewed, rolling out r98346.
2239         http://trac.webkit.org/changeset/98346
2240         https://bugs.webkit.org/show_bug.cgi?id=70874
2241
2242         Breaks JSC-based bots. (Requested by pfeldman on #webkit).
2243
2244         * inspector/front-end/ScriptsPanel.js:
2245         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2246
2247 2011-10-25  Nat Duca  <nduca@chromium.org>
2248
2249         [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
2250         https://bugs.webkit.org/show_bug.cgi?id=70838
2251
2252         Reviewed by James Robinson.
2253
2254         * platform/graphics/chromium/LayerRendererChromium.cpp:
2255         (WebCore::LayerRendererChromium::initialize):
2256         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2257         (WebCore::WebGLLayerChromium::layerRendererContext):
2258         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2259         (WebCore::CCHeadsUpDisplay::enabled):
2260         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2261         (WebCore::CCLayerTreeHost::initialize):
2262         (WebCore::CCLayerTreeHost::context):
2263         (WebCore::CCLayerTreeHost::setNeedsAnimate):
2264         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
2265         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2266         (WebCore::CCLayerTreeHost::composite):
2267         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2268         (WebCore::CCSettings::CCSettings):
2269         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2270         (WebCore::CCThreadProxy::hasThread):
2271         * platform/graphics/chromium/cc/CCThreadProxy.h:
2272
2273 2011-10-25  Xiaomei Ji  <xji@chromium.org>
2274
2275         --webkit-visual-word does not work in multi-line
2276         https://bugs.webkit.org/show_bug.cgi?id=61344
2277
2278         Reviewed by Ryosuke Niwa.
2279
2280         Get next or previous root inline box (which is not in the same
2281         render object as the current root inline box) by traversing DOM node.
2282
2283         Test: editing/selection/move-by-word-visually-inline-block-positioned-element.html
2284
2285         * editing/visible_units.cpp:
2286         (WebCore::previousRootInlineBox):
2287         (WebCore::nextRootInlineBox):
2288         (WebCore::leftInlineBox):
2289         (WebCore::rightInlineBox):
2290
2291 2011-10-25  Adam Barth  <abarth@webkit.org>
2292
2293         JSEventTarget.cpp has a bunch of unnessary includes
2294         https://bugs.webkit.org/show_bug.cgi?id=70865
2295
2296         Reviewed by Eric Seidel.
2297
2298         In the process of removing these includes, I noticed we had a bunch of
2299         non-autogenerated code in this file, which I've now autogenerated.
2300
2301         * bindings/js/JSEventTarget.cpp:
2302         (WebCore::toEventTarget):
2303             - One subtly here is the outter static_cast, which is caused by an
2304               inheritance infelicity in JavaScriptAudioNode, which I've noted
2305               with a FIXME.  In any case, the extra static_cast shouldn't cause
2306               any trouble.
2307         * webaudio/JavaScriptAudioNode.h:
2308
2309 2011-10-25  Adam Barth  <abarth@webkit.org>
2310
2311         V8DOMWrapper.cpp has unneeded header includes
2312         https://bugs.webkit.org/show_bug.cgi?id=70863
2313
2314         Reviewed by Eric Seidel.
2315
2316         * bindings/v8/V8DOMWrapper.cpp:
2317
2318 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
2319
2320         Resetting baseline for test bindings
2321
2322         Unreviewed preemptive build fix
2323
2324         No new tests.
2325
2326         * bindings/scripts/test/JS/JSTestObj.cpp:
2327         * bindings/scripts/test/JS/JSTestObj.h:
2328
2329 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
2330
2331         Remove deletePropertyVirtual
2332         https://bugs.webkit.org/show_bug.cgi?id=70738
2333
2334         Reviewed by Geoffrey Garen.
2335
2336         No new tests.
2337
2338         Removed all declarations and definitions of deletePropertyVirtual.
2339         Also replaced all call sites to deletePropertyVirtual with a 
2340         corresponding lookup in the MethodTable.
2341
2342         * WebCore.exp.in:
2343         * bindings/js/JSDOMStringMapCustom.cpp:
2344         (WebCore::JSDOMStringMap::deleteProperty):
2345         * bindings/js/JSDOMWindowCustom.cpp:
2346         (WebCore::JSDOMWindow::deleteProperty):
2347         * bindings/js/JSDOMWindowShell.cpp:
2348         (WebCore::JSDOMWindowShell::deleteProperty):
2349         * bindings/js/JSDOMWindowShell.h:
2350         * bindings/js/JSHistoryCustom.cpp:
2351         (WebCore::JSHistory::deleteProperty):
2352         * bindings/js/JSLocationCustom.cpp:
2353         (WebCore::JSLocation::deleteProperty):
2354         * bindings/js/JSStorageCustom.cpp:
2355         (WebCore::JSStorage::deleteProperty):
2356         * bindings/js/ScriptObject.cpp:
2357         (WebCore::ScriptGlobalObject::remove):
2358         * bindings/objc/WebScriptObject.mm:
2359         (-[WebScriptObject removeWebScriptKey:]):
2360         * bindings/scripts/CodeGeneratorJS.pm:
2361         (GenerateHeader):
2362         * bridge/NP_jsobject.cpp:
2363         (_NPN_RemoveProperty):
2364         * bridge/jni/jni_jsobject.mm:
2365         (JavaJSObject::removeMember):
2366         * bridge/objc/objc_runtime.h:
2367         * bridge/objc/objc_runtime.mm:
2368         * bridge/runtime_array.cpp:
2369         * bridge/runtime_array.h:
2370         * bridge/runtime_object.cpp:
2371         * bridge/runtime_object.h:
2372
2373 2011-10-25  Chris Fleizach  <cfleizach@apple.com>
2374
2375         AX: WebKit does not expose HTML label for slider elements
2376         https://bugs.webkit.org/show_bug.cgi?id=70856
2377
2378         Reviewed by Darin Adler.
2379
2380         Test: platform/mac/accessibility/slider-allows-title-ui-element.html
2381
2382         * accessibility/AccessibilitySlider.h:
2383         (WebCore::AccessibilitySlider::isControl):
2384         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2385         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2386
2387 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
2388
2389         Remove putVirtual
2390         https://bugs.webkit.org/show_bug.cgi?id=70740
2391
2392         Reviewed by Geoffrey Garen.
2393
2394         No new tests.
2395
2396         Removed all declarations and definitions of putVirtual.
2397         Also replaced all call sites to putVirtual with a 
2398         corresponding lookup in the MethodTable.
2399
2400         * WebCore.exp.in:
2401         * bindings/js/JSDOMWindowCustom.cpp:
2402         * bindings/js/JSDOMWindowShell.cpp:
2403         (WebCore::JSDOMWindowShell::put):
2404         * bindings/js/JSDOMWindowShell.h:
2405         * bindings/js/JSPluginElementFunctions.cpp:
2406         (WebCore::runtimeObjectCustomPut):
2407         * bindings/js/SerializedScriptValue.cpp:
2408         (WebCore::CloneDeserializer::putProperty):
2409         * bindings/objc/WebScriptObject.mm:
2410         (-[WebScriptObject setValue:forKey:]):
2411         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
2412         * bindings/scripts/CodeGeneratorJS.pm:
2413         (GenerateHeader):
2414         (GenerateImplementation):
2415         * bridge/NP_jsobject.cpp:
2416         (_NPN_SetProperty):
2417         * bridge/jni/jni_jsobject.mm:
2418         (JavaJSObject::setMember):
2419         (JavaJSObject::setSlot):
2420         * bridge/objc/objc_runtime.h:
2421         * bridge/objc/objc_runtime.mm:
2422         * bridge/qt/qt_runtime.cpp:
2423         (JSC::Bindings::convertQVariantToValue):
2424         * bridge/runtime_array.cpp:
2425         * bridge/runtime_array.h:
2426         * bridge/runtime_object.cpp:
2427         * bridge/runtime_object.h:
2428         * bridge/testqtbindings.cpp:
2429         (main):
2430
2431 2011-10-25  Adam Barth  <abarth@webkit.org>
2432
2433         EventTargetFactory.in is not sorted
2434         https://bugs.webkit.org/show_bug.cgi?id=70855
2435
2436         Reviewed by Eric Seidel.
2437
2438         This patch sorts the file.  I was not able to measure a performance
2439         difference using the microbenchmark included with this patch.
2440
2441         * dom/EventTargetFactory.in:
2442
2443 2011-10-25  Adam Barth  <abarth@webkit.org>
2444
2445         Attempt to fix the Windows build.  Windows mashes all these files into
2446         one, which doesn't respect the compilation unit rules of C++.
2447
2448         * bindings/js/JSEventCustom.cpp:
2449         * bindings/js/JSEventTarget.cpp:
2450
2451 2011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
2452
2453         Moving to the start of line should not place the caret outside of the table
2454         https://bugs.webkit.org/show_bug.cgi?id=70757
2455
2456         Reviewed by Chang Shu.
2457
2458         The bug was caused by positionAvoidingFirstPositionInTable. Get rid of the function.
2459
2460         Test: editing/selection/table-lineboundary.html
2461
2462         * editing/visible_units.cpp:
2463         (WebCore::startPositionForLine):
2464
2465 2011-10-25  Beth Dakin  <bdakin@apple.com>
2466
2467         https://bugs.webkit.org/show_bug.cgi?id=70852
2468         Setting up a HiDPI base-level GraphicsContext should be more straightforward for 
2469         WebKit2
2470
2471         Reviewed by Dan Bernstein.
2472
2473         This patch removes the old cg-only GraphicsContext::setBaseCTM() api, and adds 
2474         platform-independent GraphicsContext::applyDeviceScaleFactor().
2475         * WebCore.exp.in:
2476         * platform/graphics/GraphicsContext.cpp:
2477         (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
2478         (WebCore::GraphicsContext::applyDeviceScaleFactor):
2479         * platform/graphics/GraphicsContext.h:
2480         * platform/graphics/cg/GraphicsContextCG.cpp:
2481         (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
2482
2483         Since this patch removes GraphicsContext::setBaseCTM(), this code has been 
2484         reverted to do what it used to do before that was added; it just calls into 
2485         WebCoreSystemInterface directly.
2486         * platform/graphics/cg/ImageCG.cpp:
2487         (WebCore::Image::drawPattern):
2488
2489 2011-10-25  Anders Carlsson  <andersca@apple.com>
2490
2491         Plug-ins have to use JavaScript to find out the current device scale factor
2492         https://bugs.webkit.org/show_bug.cgi?id=67225
2493
2494         Reviewed by Darin Adler.
2495
2496         Test: platform/mac-wk2/plugins/contents-scale-factor.html
2497
2498         Add NPNVcontentsScaleFactor, as per https://wiki.mozilla.org/NPAPI:ContentsScaleFactor.
2499
2500         * plugins/npapi.h:
2501
2502 2011-10-25  Adam Klein  <adamk@chromium.org>
2503
2504         Forward declare MutationObserverEntry as a struct to fix clang build
2505         https://bugs.webkit.org/show_bug.cgi?id=70853
2506
2507         Reviewed by Ryosuke Niwa.
2508
2509         Node.h forward declared MutationObserverEntry as a class, and clang
2510         complains if the two declarations don't match.
2511
2512         * dom/Node.h:
2513
2514 2011-10-25  Dan Bernstein  <mitz@apple.com>
2515
2516         Caret can be positioned or repainted incorrectly in flipped-blocks multi-column blocks
2517         https://bugs.webkit.org/show_bug.cgi?id=70851
2518
2519         Reviewed by Dave Hyatt.
2520
2521         * manual-tests/caret-in-columns-flipped.html: Added.
2522         * rendering/RenderBlock.cpp:
2523         (WebCore::RenderBlock::adjustForColumns): Removed flipped-blocks writing mode considerations
2524         from this function, since not all callers were expecting it to account for flippedness. This makes
2525         it similar to adjustRectForColumns() in not adjusting for flippedness.
2526         * rendering/RenderBox.cpp:
2527         (WebCore::RenderBox::offsetFromContainer): In the columns case, account for flipped-blocks modes
2528         by first mapping the point and the offset to non-flipped, non-columns space, then adjusting for
2529         columns, then flipping.
2530
2531 2011-10-25  Michal Mocny  <mmocny@google.com>
2532
2533         LayerRendererChromium::setVisible called needlessly without a visibility change
2534         https://bugs.webkit.org/show_bug.cgi?id=70766
2535
2536         Reviewed by Kenneth Russell.
2537
2538         Check that visibility has actually changed before calling LayerRendererChromium::setVisible
2539
2540         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2541         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2542         (WebCore::CCLayerTreeHostImpl::setVisible):
2543         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2544
2545 2011-10-25  Anders Carlsson  <andersca@apple.com>
2546
2547         REGRESSION(97821): HistoryController::itemsAreClones crashes a lot
2548         https://bugs.webkit.org/show_bug.cgi?id=70827
2549         <rdar://problem/10342925>
2550
2551         Reviewed by Adam Barth.
2552
2553         Check that m_currentItem is non-null before passing it to itemsAreClones. While I wasn't
2554         able to make a test case that would reproduce this crash, we do check m_currentItem for null
2555         everywhere else, and the crash log indicates that this would fix the crash.
2556
2557         * loader/HistoryController.cpp:
2558         (WebCore::HistoryController::recursiveUpdateForCommit):
2559
2560 2011-10-25  Adam Barth  <abarth@webkit.org>
2561
2562         EventTarget.h shouldn't need to know about every feature and ifdef
2563         https://bugs.webkit.org/show_bug.cgi?id=70659
2564
2565         Reviewed by Darin Adler.
2566
2567         This patch follows the approach of Event.h and introduces an
2568         interfaceName virtual function that returns the name of the DOM
2569         interface for the concrete type of the object.  This function lets us
2570         remove a large number of fake dynamic casts.
2571
2572         * CMakeLists.txt:
2573         * CodeGenerators.pri:
2574         * DerivedSources.make:
2575         * GNUmakefile.am:
2576         * WebCore.gyp/WebCore.gyp:
2577         * WebCore.gyp/scripts/action_makenames.py:
2578             - Teach action_makenames how to handle the new "in" file.
2579         * WebCore.gypi:
2580         * WebCore.vcproj/WebCore.vcproj:
2581         * WebCore.xcodeproj/project.pbxproj:
2582         * bindings/js/JSEventTarget.cpp:
2583         (WebCore::toJS):
2584             - Use the new autogenerated macro to remove a large amount of
2585               feature-specific code.
2586         * bindings/js/WorkerScriptController.cpp:
2587         (WebCore::WorkerScriptController::initScript):
2588         * bindings/objc/DOM.mm:
2589         (kit):
2590             - The SVGElementInstance branch was never taken previously because
2591               SVGElementInstance::toNode returns a non-NULL value. This code
2592               was introduced in http://trac.webkit.org/changeset/42618 and
2593               doesn't appear to have ever worked as the author intended.
2594         * bindings/v8/V8DOMWrapper.cpp:
2595         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2596             - Use the new autogenerated macro to remove a large amount of
2597               feature-specific code.
2598         * dom/EventNames.cpp:
2599         (WebCore::EventNames::EventNames):
2600         * dom/EventNames.h:
2601         * dom/EventTarget.cpp:
2602         * dom/EventTarget.h:
2603         * dom/EventTargetFactory.in: Added.
2604             - Add a new "in" file that lists all the EventTargets.
2605         * dom/LocalMediaStream.cpp:
2606         (WebCore::LocalMediaStream::interfaceName):
2607         * dom/LocalMediaStream.h:
2608         * dom/MediaStream.cpp:
2609         (WebCore::MediaStream::interfaceName):
2610         * dom/MediaStream.h:
2611         * dom/MessagePort.cpp:
2612         (WebCore::MessagePort::interfaceName):
2613         * dom/MessagePort.h:
2614         * dom/Node.cpp:
2615         (WebCore::Node::toNode):
2616         (WebCore::Node::interfaceName):
2617         * dom/Node.h:
2618         * dom/make_event_factory.pl:
2619             - Generalize make_event_factory.pl to be able to generate
2620               interfaces for different namespaces.
2621         * fileapi/FileReader.cpp:
2622         (WebCore::FileReader::interfaceName):
2623         * fileapi/FileReader.h:
2624         * fileapi/FileWriter.cpp:
2625         (WebCore::FileWriter::interfaceName):
2626         * fileapi/FileWriter.h:
2627         * loader/appcache/DOMApplicationCache.cpp:
2628         (WebCore::DOMApplicationCache::interfaceName):
2629         * loader/appcache/DOMApplicationCache.h:
2630         * notifications/Notification.cpp:
2631         (WebCore::Notification::interfaceName):
2632         * notifications/Notification.h:
2633         (WebCore::Notification::scriptExecutionContext):
2634         * p2p/PeerConnection.cpp:
2635         (WebCore::PeerConnection::interfaceName):
2636         * p2p/PeerConnection.h:
2637         * page/DOMWindow.cpp:
2638         (WebCore::DOMWindow::interfaceName):
2639         (WebCore::DOMWindow::toDOMWindow):
2640         * page/DOMWindow.h:
2641         * page/EventSource.cpp:
2642         (WebCore::EventSource::interfaceName):
2643         * page/EventSource.h:
2644         * storage/IDBDatabase.cpp:
2645         (WebCore::IDBDatabase::interfaceName):
2646         * storage/IDBDatabase.h:
2647         * storage/IDBRequest.cpp:
2648         (WebCore::IDBRequest::interfaceName):
2649         * storage/IDBRequest.h:
2650         * storage/IDBTransaction.cpp:
2651         (WebCore::IDBTransaction::interfaceName):
2652         * storage/IDBTransaction.h:
2653         * storage/IDBVersionChangeRequest.cpp:
2654         (WebCore::IDBVersionChangeRequest::interfaceName):
2655         * storage/IDBVersionChangeRequest.h:
2656         * svg/SVGElementInstance.cpp:
2657         (WebCore::SVGElementInstance::interfaceName):
2658         * svg/SVGElementInstance.h:
2659         (WebCore::SVGElementInstance::toNode):
2660         * webaudio/AudioContext.cpp:
2661         (WebCore::AudioContext::interfaceName):
2662         (WebCore::AudioContext::scriptExecutionContext):
2663         * webaudio/AudioContext.h:
2664         * webaudio/JavaScriptAudioNode.cpp:
2665         (WebCore::JavaScriptAudioNode::interfaceName):
2666         * webaudio/JavaScriptAudioNode.h:
2667         * websockets/WebSocket.cpp:
2668         (WebCore::WebSocket::interfaceName):
2669         * websockets/WebSocket.h:
2670         * workers/DedicatedWorkerContext.cpp:
2671         (WebCore::DedicatedWorkerContext::interfaceName):
2672         * workers/DedicatedWorkerContext.h:
2673         * workers/DefaultSharedWorkerRepository.cpp:
2674         (WebCore::SharedWorkerConnectTask::performTask):
2675         * workers/SharedWorker.cpp:
2676         (WebCore::SharedWorker::interfaceName):
2677         * workers/SharedWorker.h:
2678         * workers/SharedWorkerContext.cpp:
2679         (WebCore::SharedWorkerContext::interfaceName):
2680         * workers/SharedWorkerContext.h:
2681         * workers/Worker.cpp:
2682         (WebCore::Worker::interfaceName):
2683         * workers/Worker.h:
2684         * xml/XMLHttpRequest.cpp:
2685         (WebCore::XMLHttpRequest::interfaceName):
2686         * xml/XMLHttpRequest.h:
2687         * xml/XMLHttpRequestUpload.cpp:
2688         (WebCore::XMLHttpRequestUpload::interfaceName):
2689         * xml/XMLHttpRequestUpload.h:
2690
2691 2011-10-25  Pavel Podivilov  <podivilov@chromium.org>
2692
2693         Fix several minor problems in idls.
2694         https://bugs.webkit.org/show_bug.cgi?id=70811
2695
2696         Reviewed by Adam Barth.
2697
2698         This patch does not have any effect on generated bindings.
2699
2700         * dom/DataTransferItems.idl:
2701         * page/History.idl:
2702         * storage/IDBIndex.idl:
2703         * xml/XMLHttpRequest.idl:
2704
2705 2011-10-25  Nate Chapin  <japhet@chromium.org>
2706
2707         Make DocumentThreadableLoader a CachedResourceClient.
2708         This will allow us to cache ThreadableLoaderClients as
2709         appropriate in a later patch.
2710         https://bugs.webkit.org/show_bug.cgi?id=61225
2711
2712         Reviewed by Antti Koivisto.
2713
2714         No new tests, no functionality change intended.
2715
2716         * WebCore.gypi:
2717         * loader/DocumentThreadableLoader.cpp:
2718         (WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
2719             for didFail() and didFinishLoading(), so we need to differentiate here.
2720         (WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
2721             instead of ResourceLoadScheduler::scheduleSubresourceLoad().
2722         * loader/DocumentThreadableLoader.h:
2723         * loader/cache/CachedRawResource.cpp:
2724         (WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
2725             DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
2726             'data' input parameter will contain all data received so far, and we need to determine the
2727             incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
2728             the incremental data.
2729         * loader/cache/CachedRawResource.h:
2730         * loader/cache/CachedResource.cpp:
2731         * loader/cache/CachedResource.h:
2732         (WebCore::CachedResource::preloadResult):
2733         (WebCore::CachedResource::didSendData):
2734         (WebCore::CachedResource::didDownloadData):
2735         (WebCore::CachedResource::setLoadFinishTime):
2736         (WebCore::CachedResource::loadFinishTime):
2737         * loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
2738         * loader/cache/CachedResourceRequest.cpp:
2739         (WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
2740             the request, so protect appropriately.
2741         * loader/cache/CachedResourceRequest.h:
2742         * loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
2743         * loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
2744         * loader/chromium/DocumentThreadableLoaderChromium.cpp:
2745         * platform/network/BlobResourceHandle.cpp:
2746         (WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
2747
2748 2011-10-25  Pavel Podivilov  <podivilov@chromium.org>
2749
2750         Get rid of optional parameters in the middle in IDLs.
2751         https://bugs.webkit.org/show_bug.cgi?id=70816
2752
2753         Reviewed by Adam Barth.
2754
2755         Optional parameters in the middle are prohibited by WebIDL spec.
2756
2757         * bindings/scripts/CodeGeneratorJS.pm:
2758         (GenerateHeader):
2759         (GenerateImplementation):
2760         * bindings/scripts/CodeGeneratorV8.pm:
2761         (GenerateHeader):
2762         (GenerateArgumentsCountCheck):
2763         (GenerateImplementation):
2764         * html/canvas/CanvasRenderingContext2D.idl:
2765         * page/DOMWindow.idl:
2766
2767 2011-10-25  Chris Evans  <cevans@google.com>
2768
2769         Manage the CSS property array length correctly
2770         https://bugs.webkit.org/show_bug.cgi?id=70783
2771
2772         Reviewed by Adam Barth.
2773
2774         * css/CSSParser.cpp:
2775         (WebCore::CSSParser::addProperty): don't allow max length to get out of sync with the buffer.
2776
2777 2011-10-25  Tony Chang  <tony@chromium.org>
2778
2779         avoid unnecessary layouts of flex items during the flex pass
2780         https://bugs.webkit.org/show_bug.cgi?id=70557
2781
2782         Reviewed by Ojan Vafai.
2783
2784         If the preferred size of a flex item is provided, we don't need to
2785         layout the flex item when computing the preferred size.  This allows
2786         us to only call layout on each flex item once in the common case.
2787
2788         No new tests, covered by existing tests.
2789
2790         * rendering/RenderFlexibleBox.cpp:
2791         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthLengthForChild):
2792         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
2793         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
2794         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
2795         * rendering/RenderFlexibleBox.h:
2796
2797 2011-10-25  Fady Samuel  <fsamuel@chromium.org>
2798
2799         Crash in WebCore::RenderTableSection::addChild due to assert failure
2800         https://bugs.webkit.org/show_bug.cgi?id=70678
2801
2802         Reviewed by David Hyatt.
2803
2804         Tests: fast/table/table-anonymous-cell-bug.html
2805                fast/table/table-anonymous-row-bug.html
2806                fast/table/table-anonymous-section-bug.html
2807
2808         If the child being added is not a Section/Row/Cell, and the previous sibling is not anonymous, 
2809         we need to create a new anonymous Section/Row/Cell respectively, instead of failing an
2810         assert.
2811
2812         * rendering/RenderTable.cpp:
2813         (WebCore::RenderTable::addChild):
2814         * rendering/RenderTableRow.cpp:
2815         (WebCore::RenderTableRow::addChild):
2816         * rendering/RenderTableSection.cpp:
2817         (WebCore::RenderTableSection::addChild):
2818
2819 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
2820
2821         Add getOwnPropertySlot to MethodTable
2822         https://bugs.webkit.org/show_bug.cgi?id=69807
2823
2824         Reviewed by Oliver Hunt.
2825
2826         No new tests.
2827
2828         * bridge/runtime_method.h: Changed getOwnPropertySlot to be protected so 
2829         subclasses can reference it in their MethodTables.
2830
2831 2011-10-25  Simon Fraser  <simon.fraser@apple.com>
2832
2833         REGRESSION (r88580): Cursor fails to change to pointer on embedded Google maps popups
2834         https://bugs.webkit.org/show_bug.cgi?id=62797
2835
2836         Reviewed by Chris Marrin.
2837         
2838         When hit testing through transformed layers, RenderLayer would simply use
2839         the composited bounds of the layer as the localHitTestRect for hit testing sublayers.
2840         However, this broke hit testing on pages that have a composited, non-transformed layer
2841         which falls outside the bounds of its parent, composited-transformed layer, like Google
2842         Maps.
2843         
2844         Fix by mapping the hitTestRect through transforms. However this is tricky, because
2845         mapping a rect into the coordinate system of a layer can result in invalid rectangles
2846         when point projection results in a negative w component. Fix TransformationMatrix::projectPoint()
2847         to detect this case and replace X and Y with large values, and add boundsOfProjectedQuad(), which 
2848         maps rectangles with possibly-infinite location or bounds into rects which are representable
2849         in an IntRect.
2850
2851         Tests: transforms/3d/hit-testing/composited-hit-test.html
2852                transforms/3d/hit-testing/rotated-hit-test-with-child.html
2853                transforms/3d/hit-testing/rotated-hit-test2.html
2854
2855         * platform/graphics/transforms/TransformationMatrix.cpp:
2856         (WebCore::TransformationMatrix::projectPoint):
2857         (WebCore::TransformationMatrix::projectQuad):
2858         (WebCore::clampEdgeValue):
2859         (WebCore::TransformationMatrix::boundsOfProjectedQuad):
2860         * platform/graphics/transforms/TransformationMatrix.h:
2861         * rendering/HitTestingTransformState.cpp:
2862         (WebCore::HitTestingTransformState::boundsOfMappedQuad):
2863         * rendering/HitTestingTransformState.h:
2864         * rendering/RenderLayer.cpp:
2865         (WebCore::RenderLayer::hitTestLayer):
2866
2867 2011-10-25  Adrienne Walker  <enne@google.com>
2868
2869         [chromium] Batch up texture uploads so that they can be updated incrementally
2870         https://bugs.webkit.org/show_bug.cgi?id=70454
2871
2872         Reviewed by James Robinson.
2873
2874         Because texture uploads can sometimes take more than a frame to
2875         complete, collect all the uploads that need to occur in a
2876         CCTextureUpdater so that we can easily incrementally upload some of
2877         them, interleaving input and drawing so that the compositor thread
2878         continues to appear responsive during a commit.
2879
2880         This change doesn't actually interleave the commits, it just pushes
2881         the infrastructure for doing so up to the CCProxy level so that a
2882         future scheduler can make this decision.
2883
2884         VideoLayerChromium is the only layer type to not use this system. It
2885         needs to be converted to use a texture updater first and it is less of
2886         a priority than the tiled layers.
2887
2888         * WebCore.gypi:
2889         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2890         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
2891         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2892         * platform/graphics/chromium/LayerChromium.h:
2893         (WebCore::LayerChromium::updateCompositorResources):
2894         * platform/graphics/chromium/TiledLayerChromium.cpp:
2895         (WebCore::TiledLayerChromium::updateCompositorResources):
2896         * platform/graphics/chromium/TiledLayerChromium.h:
2897         * platform/graphics/chromium/VideoLayerChromium.cpp:
2898         (WebCore::VideoLayerChromium::updateCompositorResources):
2899         * platform/graphics/chromium/VideoLayerChromium.h:
2900         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2901         (WebCore::WebGLLayerChromium::updateCompositorResources):
2902         * platform/graphics/chromium/WebGLLayerChromium.h:
2903         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2904         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
2905         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2906         (WebCore::CCLayerTreeHost::updateCompositorResources):
2907         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2908         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2909         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2910         (WebCore::CCSingleThreadProxy::doCommit):
2911         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2912         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2913         * platform/graphics/chromium/cc/CCTextureUpdater.cpp: Added.
2914         (WebCore::CCTextureUpdater::CCTextureUpdater):
2915         (WebCore::CCTextureUpdater::~CCTextureUpdater):
2916         (WebCore::CCTextureUpdater::append):
2917         (WebCore::CCTextureUpdater::update):
2918         (WebCore::CCTextureUpdater::clear):
2919         * platform/graphics/chromium/cc/CCTextureUpdater.h: Added.
2920         (WebCore::CCTextureUpdater::allocator):
2921         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2922         (WebCore::CCThreadProxy::commitOnImplThread):
2923
2924 2011-10-24  Jer Noble  <jer.noble@apple.com>
2925
2926         compositing/video tests time out on Lion
2927         https://bugs.webkit.org/show_bug.cgi?id=70448
2928
2929         Reviewed by Simon Fraser.
2930
2931         AVFoundation will not begin loading or decoding media until a consumer for that media is present.
2932         For video-only media, this means that an AVPlayerLayer must be created and attached to the 
2933         AVPlayer before the load state will ever reach "canPlayThrough". Once the metadata for a media
2934         is loaded, create a AVPlayerLayer if the media has a video track.
2935
2936         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2937         (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
2938
2939 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
2940
2941         Merge endOfLine with logicalEndOfLine and startOfLine with logicalStartOfLine
2942         https://bugs.webkit.org/show_bug.cgi?id=70755
2943
2944         Reviewed by Chang Shu.
2945
2946         Merged endOfLine with logicalEndOfLine, and startOfLine with logicalStartOfLine
2947         to reduce the code duplication.
2948
2949         * editing/visible_units.cpp:
2950         (WebCore::startPositionForLine):
2951         (WebCore::startOfLine):
2952         (WebCore::logicalStartOfLine):
2953         (WebCore::endPositionForLine):
2954         (WebCore::inSameLogicalLine):
2955         (WebCore::endOfLine):
2956         (WebCore::logicalEndOfLine):
2957         * editing/visible_units.h:
2958
2959 2011-10-25  Arko Saha  <arko@motorola.com>
2960
2961         Microdata: itemtype attribute should be space-separated list to allow multiple types.
2962         https://bugs.webkit.org/show_bug.cgi?id=70501
2963
2964         Reviewed by Ryosuke Niwa.
2965
2966         Tests: fast/dom/MicroData/getitems-multiple-itemtypes.html
2967                fast/dom/MicroData/itemtype-add-remove-tokens.html
2968                fast/dom/MicroData/itemtype-attribute-test.html
2969
2970         * dom/MicroDataItemList.cpp:
2971         (WebCore::MicroDataItemList::nodeMatches):
2972         * html/DOMSettableTokenList.h:
2973         (WebCore::DOMSettableTokenList::tokens):
2974         * html/HTMLElement.cpp:
2975         (WebCore::HTMLElement::parseMappedAttribute):
2976         (WebCore::HTMLElement::setItemValueText):
2977         (WebCore::HTMLElement::itemType):
2978         (WebCore::HTMLElement::setItemType):
2979         * html/HTMLElement.h:
2980         * html/HTMLElement.idl:
2981
2982 2011-10-25  Dan Bernstein  <mitz@apple.com>
2983
2984         <rdar://problem/10337033> DOMRangeOfString:relativeTo:options has problems with -webkit-user-select: none
2985
2986         Reviewed by Adam Roben.
2987
2988         Test: added to TestWebKitAPI/Tests/mac/DOMRangeOfString.mm
2989
2990         * page/Page.cpp:
2991         (WebCore::Page::rangeOfString): This function was incorrectly adding the StartInSelection option to
2992         the initial search.
2993
2994 2011-10-25  Yury Semikhatsky  <yurys@chromium.org>
2995
2996         Web Inspector: redesign workers sidebar pane
2997         https://bugs.webkit.org/show_bug.cgi?id=70815
2998
2999         Changed workers sidebar pane design.
3000
3001         Now there is a link to worker inspector for each dedicated worker created
3002         by inspected page. The sidebar display a link to a page with list of all
3003         shared workers if there one is supported by the WebKit port. Also there
3004         is a checkbox that allows pause all new workers on first statements.
3005
3006         Reviewed by Pavel Feldman.
3007
3008         * inspector/front-end/Settings.js:
3009         * inspector/front-end/StylesSidebarPane.js:
3010         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
3011         * inspector/front-end/WorkerManager.js:
3012         (WebInspector.WorkerManager.prototype.openWorkerInspector):
3013         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
3014         * inspector/front-end/WorkersSidebarPane.js:
3015         (WebInspector.WorkerListSidebarPane):
3016         (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
3017         (WebInspector.WorkerListSidebarPane.prototype._workersCleared):
3018         (WebInspector.WorkerListSidebarPane.prototype._addWorker):
3019         (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
3020         (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
3021         (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink.link.onclick):
3022         (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink):
3023         * inspector/front-end/elementsPanel.css:
3024         * inspector/front-end/inspectorCommon.css:
3025         (.sidebar-separator):
3026         (.sidebar-label):
3027         * inspector/front-end/scriptsPanel.css:
3028         (.dedicated-worker-item):
3029         (#shared-workers-list):
3030         (#pause-workers-checkbox > input):
3031
3032 2011-10-25  Nico Weber  <thakis@chromium.org>
3033
3034         [chromium/mac] Fix an ODR violation.
3035         https://bugs.webkit.org/show_bug.cgi?id=70753
3036
3037         Reviewed by Anders Carlsson.
3038
3039         Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
3040         Remove the unused one.
3041
3042         * WebCore.gyp/WebCore.gyp:
3043
3044 2011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>
3045
3046         Web Inspector: Debugger fails when there is an invalid watch expression.
3047         https://bugs.webkit.org/show_bug.cgi?id=70718
3048
3049         Reviewed by Pavel Feldman.
3050
3051         Test: inspector/debugger/watch-expressions-panel-switch.html
3052
3053         * inspector/front-end/ScriptsPanel.js:
3054         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
3055
3056 2011-10-24  Pavel Podivilov  <podivilov@chromium.org>
3057
3058         Web Inspector: fix empty line handling in source maps.
3059         https://bugs.webkit.org/show_bug.cgi?id=70726
3060
3061         Reviewed by Yury Semikhatsky.
3062
3063         * inspector/front-end/CompilerSourceMapping.js:
3064         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
3065
3066 2011-10-25  Justin Schuh  <jschuh@chromium.org>
3067
3068         Check for empty string in parseArcFlag
3069         https://bugs.webkit.org/show_bug.cgi?id=70763
3070
3071         Reviewed by Dirk Schulze.
3072
3073         Test: svg/path-invalid.html
3074
3075         * svg/SVGParserUtilities.cpp:
3076         (WebCore::parseArcFlag):
3077
3078 2011-10-24  Pavel Podivilov  <podivilov@chromium.org>
3079
3080         Web Inspector: keep old source mapping when new one could not be loaded.
3081         https://bugs.webkit.org/show_bug.cgi?id=70729
3082
3083         Reviewed by Yury Semikhatsky.
3084
3085         * inspector/front-end/RawSourceCode.js:
3086         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
3087         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
3088         (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
3089
3090 2011-10-25  Sachin Puranik  <sachin.puranik@motorola.com>
3091
3092         Double number step=.5 should be considered valid in <input type="number" step=".5">
3093         https://bugs.webkit.org/show_bug.cgi?id=70320
3094
3095         Reviewed by Kent Tamura.
3096
3097         Test: fast/forms/input-step-as-double.html
3098
3099         * html/parser/HTMLParserIdioms.cpp:
3100         (WebCore::parseToDoubleForNumberType): Changed the function to consider
3101         step as valid even if it starts with "."
3102
3103 2011-10-25  Alexander Pavlov  <apavlov@chromium.org>
3104
3105         Web Inspector: [Chromium] Audits panel context menu for links not working properly
3106         https://bugs.webkit.org/show_bug.cgi?id=70813
3107
3108         Reviewed by Pavel Feldman.
3109
3110         * inspector/front-end/AuditResultView.js:
3111         (WebInspector.AuditResultView):
3112         (WebInspector.AuditResultView.prototype._contextMenuEventFired):
3113
3114 2011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>
3115
3116         Web Inspector: Resources panel: display the current search match index in the toolbar.
3117         https://bugs.webkit.org/show_bug.cgi?id=66050
3118
3119         Reviewed by Pavel Feldman.
3120
3121         Test: http/tests/inspector/search/resources-search-match-index.html
3122
3123         * inspector/front-end/ResourcesPanel.js:
3124         (WebInspector.ResourcesPanel.prototype.performSearch.callback):
3125         (WebInspector.ResourcesPanel.prototype.performSearch):
3126         (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
3127         (WebInspector.ResourcesPanel.prototype._showSearchResult):
3128         (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
3129         (WebInspector.ResourcesSearchController):
3130         (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
3131         (WebInspector.ResourcesSearchController.prototype.previousSearchResult):
3132         (WebInspector.ResourcesSearchController.prototype._searchResult):
3133         (WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
3134         (WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
3135         (WebInspector.SearchResultsTreeElementsTraverser.prototype.matchIndex):
3136         (WebInspector.SearchResultsTreeElementsTraverser.prototype._elementSearchMatchesCount):
3137         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
3138         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
3139         * inspector/front-end/treeoutline.js:
3140
3141 2011-10-25  Andrey Kosyakov  <caseq@chromium.org>
3142
3143         Web Inspector: JS exception in JavaScriptSourceFrame.onShowPopover/showObjectPopover()
3144         https://bugs.webkit.org/show_bug.cgi?id=70812
3145
3146         Reviewed by Pavel Feldman.
3147
3148         Check if highlighted element is present while displaying object popover.
3149
3150         * inspector/front-end/JavaScriptSourceFrame.js:
3151         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
3152         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):
3153
3154 2011-10-21  Nat Duca  <nduca@chromium.org>
3155
3156         [chromium] Route Console::time and Console::timeEnd to trace_event
3157         https://bugs.webkit.org/show_bug.cgi?id=70620
3158
3159         Reviewed by Pavel Feldman.
3160
3161         * page/Console.cpp:
3162         (WebCore::Console::time):
3163         (WebCore::Console::timeEnd):
3164
3165 2011-10-21  Andrey Kosyakov  <caseq@chromium.org>
3166
3167         Web Inspector: [Extensions API] allow extensions to specify script to be injected on reload
3168         https://bugs.webkit.org/show_bug.cgi?id=70600
3169
3170         Reviewed by Pavel Feldman.
3171
3172         - change webInspector.inspectedPage.reload() to accept multiple options in an object
3173         - add an ability to inject a script upon a page reload
3174         - return script id in addScriptToEvaluateOnLoad()
3175         - provide removeScriptToEvaluateOnLoad()
3176         - store scripts to evaluate on load in inspector state cookie
3177
3178         Test: inspector/extensions/extensions-reload.html
3179
3180         * inspector/Inspector.json:
3181         * inspector/InspectorPageAgent.cpp:
3182         (WebCore::InspectorPageAgent::InspectorPageAgent):
3183         (WebCore::InspectorPageAgent::restore):
3184         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
3185         (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
3186         (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
3187         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
3188         (WebCore::InspectorPageAgent::frameNavigated):
3189         * inspector/InspectorPageAgent.h:
3190         * inspector/front-end/ExtensionAPI.js:
3191         (injectedExtensionAPI.InspectedWindow.prototype.reload):
3192         * inspector/front-end/ExtensionServer.js:
3193         (WebInspector.ExtensionServer.prototype._onReload):
3194         * inspector/front-end/WorkersSidebarPane.js:
3195         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation.callback):
3196         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
3197
3198 2011-10-24  Pavel Feldman  <pfeldman@google.com>
3199
3200         Web Inspector: print expired message count before remaining messages.
3201         https://bugs.webkit.org/show_bug.cgi?id=70736
3202
3203         Reviewed by Yury Semikhatsky.
3204
3205         * inspector/Inspector-0.1.json:
3206         * inspector/Inspector.json:
3207         * inspector/InspectorConsoleAgent.cpp:
3208         (WebCore::InspectorConsoleAgent::enable):
3209         (WebCore::InspectorConsoleAgent::restore):
3210         * inspector/InspectorConsoleAgent.h:
3211         * inspector/front-end/ConsoleModel.js:
3212
3213 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3214
3215         Unreviewed, rolling out r98309.
3216         http://trac.webkit.org/changeset/98309
3217         https://bugs.webkit.org/show_bug.cgi?id=70801
3218
3219         Test fails on mac (Requested by benwells on #webkit).
3220
3221         * html/canvas/CanvasRenderingContext2D.cpp:
3222         (WebCore::CanvasRenderingContext2D::fill):
3223         (WebCore::CanvasRenderingContext2D::fillRect):
3224         (WebCore::CanvasRenderingContext2D::drawImage):
3225         (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere):
3226         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
3227         * html/canvas/CanvasRenderingContext2D.h:
3228
3229 2011-10-24  Geoffrey Garen  <ggaren@apple.com>
3230
3231         Chromium build fix: #include window.h for HANDLE.
3232
3233         * platform/graphics/opentype/OpenTypeUtilities.h:
3234
3235 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
3236
3237         Include ThreadSafeRefCounted.h since the class declared in this header file
3238         inherits from ThreadSafeRefCounted.
3239
3240         * storage/IDBIndexBackendInterface.h:
3241
3242 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
3243
3244         Fix a typo.
3245
3246         * bindings/v8/JavaScriptCallFrame.h:
3247
3248 2011-10-24  Geoffrey Garen  <ggaren@apple.com>
3249
3250         Removed SharedUChar and tightened language around its previous uses
3251         https://bugs.webkit.org/show_bug.cgi?id=70698
3252
3253         Reviewed by David Levin.
3254
3255         - Renamed "threadSafeCopy" and "crossThreadCopy" to "isolatedCopy" because
3256         the former names gave the dangerous misimpression that the resulting object
3257         was thread-safe, which is not true.
3258         
3259         - Updated a bunch of files for header dependency changes, now that
3260         CrossThreadRefCounted is gone.
3261
3262         * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Removed.
3263         * WebCore.exp.in:
3264         * bindings/js/ScriptHeapSnapshot.h:
3265         * bindings/v8/SerializedScriptValue.cpp:
3266         (WebCore::SerializedScriptValue::release):
3267         (WebCore::SerializedScriptValue::SerializedScriptValue):
3268         * css/CSSPropertySourceData.h:
3269         * css/CSSValue.h:
3270         * css/StyleMedia.h:
3271         * css/WebKitCSSMatrix.h:
3272         * dom/QualifiedName.h:
3273         * fileapi/LocalFileSystem.h:
3274         (WebCore::LocalFileSystem::SystemBasePath::operator String):
3275         * history/CachedFrame.h:
3276         * history/CachedPage.h:
3277         * history/HistoryItem.h:
3278         * html/canvas/CanvasStyle.h:
3279         * inspector/InspectorResourceAgent.h:
3280         * loader/FormState.h:
3281         * loader/TextResourceDecoder.h:
3282         * loader/WorkerThreadableLoader.cpp:
3283         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
3284         * loader/icon/IconDatabase.cpp:
3285         (WebCore::IconDatabase::open):
3286         (WebCore::IconDatabase::synchronousIconForPageURL):
3287         (WebCore::IconDatabase::synchronousIconURLForPageURL):
3288         (WebCore::IconDatabase::retainIconForPageURL):
3289         (WebCore::IconDatabase::releaseIconForPageURL):
3290         (WebCore::IconDatabase::setIconDataForIconURL):
3291         (WebCore::IconDatabase::setIconURLForPageURL):
3292         (WebCore::IconDatabase::databasePath):
3293         (WebCore::IconDatabase::defaultDatabaseFilename):
3294         (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
3295         (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
3296         * page/ContentSecurityPolicy.h:
3297         * page/Coordinates.h:
3298         (WebCore::Coordinates::isolatedCopy):
3299         * page/Geoposition.h:
3300         (WebCore::Geoposition::isolatedCopy):
3301         * page/SecurityOrigin.cpp:
3302         (WebCore::SecurityOrigin::SecurityOrigin):
3303         (WebCore::SecurityOrigin::isolatedCopy):
3304         * page/SecurityOrigin.h:
3305         * page/animation/AnimationBase.h:
3306         * platform/CrossThreadCopier.cpp:
3307         (WebCore::::copy):
3308         * platform/FileChooser.h:
3309         * platform/KURL.cpp:
3310         (WebCore::KURL::copy):
3311         * platform/cf/SchedulePair.h:
3312         * platform/network/BlobData.cpp:
3313         (WebCore::BlobDataItem::detachFromCurrentThread):
3314         (WebCore::BlobData::detachFromCurrentThread):
3315         * platform/network/HTTPHeaderMap.cpp:
3316         (WebCore::HTTPHeaderMap::copyData):
3317         * platform/network/MIMEHeader.h:
3318         * platform/network/ResourceErrorBase.cpp:
3319         (WebCore::ResourceErrorBase::copy):
3320         * platform/network/ResourceLoadInfo.h:
3321         * platform/network/ResourceRequestBase.cpp:
3322         (WebCore::ResourceRequestBase::copyData):
3323         * platform/network/ResourceResponseBase.cpp:
3324         (WebCore::ResourceResponseBase::copyData):
3325         * platform/sql/SQLValue.cpp:
3326         (WebCore::SQLValue::SQLValue):
3327         (WebCore::SQLValue::string):
3328         * rendering/style/QuotesData.h:
3329         * storage/AbstractDatabase.cpp:
3330         (WebCore::updateGuidVersionMap):
3331         (WebCore::AbstractDatabase::AbstractDatabase):
3332         (WebCore::AbstractDatabase::performOpenAndVerify):
3333         (WebCore::AbstractDatabase::stringIdentifier):
3334         (WebCore::AbstractDatabase::displayName):
3335         (WebCore::AbstractDatabase::fileName):
3336         (WebCore::AbstractDatabase::setExpectedVersion):
3337         (WebCore::AbstractDatabase::getCachedVersion):
3338         * storage/ChangeVersionWrapper.cpp:
3339         (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
3340         * storage/Database.cpp:
3341         (WebCore::Database::Database):
3342         (WebCore::Database::tableNames):
3343         * storage/DatabaseDetails.h:
3344         * storage/DatabaseTracker.cpp:
3345         (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
3346         (WebCore::DatabaseTracker::databaseDirectoryPath):
3347         (WebCore::DatabaseTracker::trackerDatabasePath):
3348         (WebCore::DatabaseTracker::canEstablishDatabase):
3349         (WebCore::DatabaseTracker::originPath):
3350         (WebCore::DatabaseTracker::fullPathForDatabase):
3351         (WebCore::DatabaseTracker::populateOrigins):
3352         (WebCore::DatabaseTracker::databaseNamesForOrigin):
3353         (WebCore::DatabaseTracker::addOpenDatabase):
3354         (WebCore::DatabaseTracker::setQuota):
3355         (WebCore::DatabaseTracker::recordCreatingDatabase):
3356         (WebCore::DatabaseTracker::recordDeletingDatabase):
3357         (WebCore::DatabaseTracker::recordDeletingOrigin):
3358         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
3359         * storage/OriginQuotaManager.cpp:
3360         (WebCore::OriginQuotaManager::trackOrigin):
3361         (WebCore::OriginQuotaManager::addDatabase):
3362         * storage/SQLError.h:
3363         (WebCore::SQLError::message):
3364         (WebCore::SQLError::SQLError):
3365         * storage/SQLResultSetRowList.h:
3366         * storage/SQLStatement.cpp:
3367         (WebCore::SQLStatement::SQLStatement):
3368         * storage/StorageAreaSync.cpp:
3369         (WebCore::StorageAreaSync::StorageAreaSync):
3370         (WebCore::StorageAreaSync::syncTimerFired):
3371         * storage/StorageAreaSync.h:
3372         * storage/StorageMap.cpp:
3373         (WebCore::StorageMap::importItem):
3374         * storage/StorageNamespaceImpl.cpp:
3375         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
3376         * storage/StorageSyncManager.cpp:
3377         (WebCore::StorageSyncManager::StorageSyncManager):
3378         * storage/StorageTracker.cpp:
3379         (WebCore::StorageTracker::StorageTracker):
3380         (WebCore::StorageTracker::syncImportOriginIdentifiers):
3381         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
3382         (WebCore::StorageTracker::setOriginDetails):
3383         (WebCore::StorageTracker::willDeleteAllOrigins):
3384         * svg/SVGPathSeg.h:
3385         * workers/DefaultSharedWorkerRepository.cpp:
3386         (WebCore::SharedWorkerProxy::url):
3387         (WebCore::SharedWorkerProxy::name):
3388         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
3389         (WebCore::DefaultSharedWorkerRepository::getProxy):
3390         * workers/SharedWorkerThread.cpp:
3391         (WebCore::SharedWorkerThread::SharedWorkerThread):
3392         * workers/WorkerMessagingProxy.cpp:
3393         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
3394         (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
3395         * workers/WorkerRunLoop.cpp:
3396         (WebCore::WorkerRunLoop::postTaskForMode):
3397         (WebCore::WorkerRunLoop::Task::Task):
3398         * workers/WorkerThread.cpp:
3399         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
3400
3401 2011-10-24  Adam Barth  <abarth@webkit.org>
3402
3403         Remove empty directory.
3404
3405         * p2p: Removed.
3406
3407 2011-10-24  Shawn Singh  <shawnsingh@chromium.org>
3408
3409         [chromium] Refactor painting/updating/drawing code.
3410         https://bugs.webkit.org/show_bug.cgi?id=70057
3411
3412         Reviewed by James Robinson.
3413
3414         This refactoring separates the "early exits" from the actual loop
3415         that draws layers. As part of this, it was also appropriate to
3416         clean up the way that masks and replicas are dealt with when
3417         painting and updating. The purpose of all this is to make things
3418         easier to test, and for a scissoring optimization that needs to
3419         know exatly what gets drawn. Existing layout tests were able to
3420         verify the refactoring did not change behavior.
3421
3422         * platform/graphics/chromium/LayerRendererChromium.cpp:
3423         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
3424         (WebCore::LayerRendererChromium::drawLayersInternal):
3425         (WebCore::LayerRendererChromium::drawLayer):
3426         * platform/graphics/chromium/LayerRendererChromium.h:
3427         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3428         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
3429         (WebCore::CCLayerTreeHost::paintLayerContents):
3430         (WebCore::CCLayerTreeHost::updateCompositorResources):
3431         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3432         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3433         (WebCore::layerShouldBeAppended):
3434         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3435         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
3436         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
3437
3438 2011-10-24  Luke Macpherson   <macpherson@chromium.org>
3439
3440         REGRESSION(80893): HTML5 spec takes 2s longer to load due to time spent in CSSStyleSelector
3441         https://bugs.webkit.org/show_bug.cgi?id=68944
3442
3443         Reviewed by Antti Koivisto.
3444
3445         No new tests / Covered by existing tests.
3446
3447         Removes all virtual dispatch from CSSStyleApplyProperty by converting to use static function pointers for dispatch.
3448         Uses class templates instead of function templates to allow default parameters and also to share parameter declarations across static functions.
3449         All constructor parameters become template parameters.&