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