[WebSocket] Remove zlib.h from WebSocketDeflater.h
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-22  Kenichi Ishibashi  <bashi@chromium.org>
2
3         [WebSocket] Remove zlib.h from WebSocketDeflater.h
4         https://bugs.webkit.org/show_bug.cgi?id=79298
5
6         Use forward declaration and OwnPtr for z_stream to move zlib.h from
7         .h file to .cpp file.
8
9         Reviewed by Kent Tamura.
10
11         No new tests. No behavior change.
12
13         * websockets/WebSocketDeflater.cpp:
14         (WebCore::WebSocketDeflater::WebSocketDeflater):
15         (WebCore::WebSocketDeflater::initialize):
16         (WebCore::WebSocketDeflater::~WebSocketDeflater):
17         (WebCore::setStreamParameter):
18         (WebCore::WebSocketDeflater::addBytes):
19         (WebCore::WebSocketDeflater::finish):
20         (WebCore::WebSocketDeflater::reset):
21         (WebCore::WebSocketInflater::WebSocketInflater):
22         (WebCore::WebSocketInflater::initialize):
23         (WebCore::WebSocketInflater::~WebSocketInflater):
24         (WebCore::WebSocketInflater::addBytes):
25         (WebCore::WebSocketInflater::finish):
26         * websockets/WebSocketDeflater.h:
27         (WebSocketDeflater): Use OwnPtr for m_stream.
28         (WebSocketInflater): Ditto.
29
30 2012-02-22  James Robinson  <jamesr@chromium.org>
31
32         Remove GraphicsContext3D::paintsIntoCanvasBuffer and unify WebGL and canvas 2d logic
33         https://bugs.webkit.org/show_bug.cgi?id=79317
34
35         Reviewed by Kenneth Russell.
36
37         HTMLCanvasElement::paint needs to know whether to attempt to paint the canvas buffer for its context. In the
38         case of an accelerated canvas or WebGL context, unless we are printing it is typically the composited layer's
39         responsibility to present the contents and the element itself is only responsible for backgrounds, borders and
40         the like.  This removes a rather indirect path that WebGL content used to take to accomplish this and unifies
41         the logic with CanvasRenderingContext2D's, which has the exact same needs.
42
43         Covered by existing canvas layout tests.
44
45         * html/HTMLCanvasElement.cpp:
46         (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
47         (WebCore):
48         (WebCore::HTMLCanvasElement::paint):
49         * html/HTMLCanvasElement.h:
50         (HTMLCanvasElement):
51         * html/canvas/CanvasRenderingContext.h:
52         * html/canvas/CanvasRenderingContext2D.cpp:
53         * html/canvas/CanvasRenderingContext2D.h:
54         * html/canvas/WebGLRenderingContext.cpp:
55         (WebCore):
56         * html/canvas/WebGLRenderingContext.h:
57         * platform/graphics/GraphicsContext3D.h:
58
59 2012-02-22  Pablo Flouret  <pablof@motorola.com>
60
61         PopStateEvent.state should use the same object as history.state
62         https://bugs.webkit.org/show_bug.cgi?id=77493
63
64         Reviewed by Kentaro Hara.
65
66         Tests: fast/loader/stateobjects/state-attribute-history-getter.html
67                fast/loader/stateobjects/state-attribute-popstate-event.html
68
69         * bindings/js/JSPopStateEventCustom.cpp:
70         (WebCore):
71         (WebCore::cacheState):
72         (WebCore::JSPopStateEvent::state):
73         * bindings/v8/V8HiddenPropertyName.h:
74         (WebCore):
75         * bindings/v8/custom/V8HistoryCustom.cpp:
76         (WebCore::V8History::stateAccessorGetter):
77         (WebCore::V8History::pushStateCallback):
78         (WebCore::V8History::replaceStateCallback):
79         * bindings/v8/custom/V8PopStateEventCustom.cpp:
80         (WebCore):
81         (WebCore::cacheState):
82         (WebCore::V8PopStateEvent::stateAccessorGetter):
83         * dom/Document.cpp:
84         (WebCore::Document::enqueuePopstateEvent):
85         * dom/PopStateEvent.cpp:
86         (WebCore::PopStateEvent::PopStateEvent):
87         (WebCore::PopStateEvent::create):
88         * dom/PopStateEvent.h:
89         (WebCore):
90         (PopStateEvent):
91         (WebCore::PopStateEvent::history):
92         * dom/PopStateEvent.idl:
93         * page/History.cpp:
94         (WebCore::History::stateChanged):
95         (WebCore):
96         (WebCore::History::isSameAsCurrentState):
97         * page/History.h:
98         (History):
99
100 2012-02-22  Adam Klein  <adamk@chromium.org>
101
102         Remove obsolete FIXMEs from ContainerNode
103         https://bugs.webkit.org/show_bug.cgi?id=79295
104
105         Reviewed by Ryosuke Niwa.
106
107         Each of these three identical FIXMEs has since been fixed by adding
108         "RefPtr<Node> protect(this)" at the top of each method.
109
110         * dom/ContainerNode.cpp:
111         (WebCore::ContainerNode::insertBefore):
112         (WebCore::ContainerNode::replaceChild):
113         (WebCore::ContainerNode::removeChild):
114
115 2012-02-22  Dmitry Lomov  <dslomov@google.com>
116
117         [JSC] Implement ArrayBuffer and typed array cloning in JSC
118         https://bugs.webkit.org/show_bug.cgi?id=79294
119
120         Reviewed by Oliver Hunt.
121
122         Covered by existing tests.
123
124         * bindings/js/SerializedScriptValue.cpp:
125         (WebCore::typedArrayElementSize):
126         (WebCore):
127         (WebCore::CloneSerializer::dumpArrayBufferView):
128         (CloneSerializer):
129         (WebCore::CloneSerializer::dumpIfTerminal):
130         (WebCore::CloneSerializer::write):
131         (WebCore::CloneDeserializer::readArrayBufferViewSubtag):
132         (CloneDeserializer):
133         (WebCore::CloneDeserializer::readArrayBuffer):
134         (WebCore::CloneDeserializer::readArrayBufferView):
135         (WebCore::CloneDeserializer::getJSValue):
136         (WebCore::CloneDeserializer::readTerminal):
137
138 2012-02-22  Adrienne Walker  <enne@google.com>
139
140         [chromium] Unreviewed speculative chromium-mac build fix.
141         https://bugs.webkit.org/show_bug.cgi?id=75874
142
143         This broke in r108581.
144
145         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
146         (WebCore):
147
148 2012-02-22  Raymond Toy  <rtoy@google.com>
149
150         exponentialRampToValue doesn't use starting value
151         https://bugs.webkit.org/show_bug.cgi?id=78035
152
153         Reviewed by Chris Rogers.
154
155         Test: webaudio/audioparam-exponentialRampToValueAtTime.html
156
157         * webaudio/AudioParamTimeline.cpp:
158         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Set
159         starting value for exponential ramp.
160
161 2012-02-22  Andreas Kling  <awesomekling@apple.com>
162
163         Make parsing color presentation attributes do less pointless work.
164         <http://webkit.org/b/79304>
165
166         Reviewed by Antti Koivisto.
167
168         Let HTMLElement::addHTMLColorToStyle() construct the color CSSValue directly
169         rather than passing a string that has to go through CSSParser.
170
171         * css/StylePropertySet.cpp:
172         (WebCore::StylePropertySet::setProperty):
173         * css/StylePropertySet.h:
174
175             Added a setProperty(propertyID, CSSValue) overload that expands shorthand
176             properties if necessary. Also added a little comment about the behavior
177             differences between setProperty() overloads.
178
179         * html/HTMLElement.cpp:
180         (WebCore::parseColorStringWithCrazyLegacyRules):
181
182             Changed this to return an RGBA32.
183
184         (WebCore::HTMLElement::addHTMLColorToStyle):
185
186             Figure out the RGB value and construct a (pooled) CSSValue directly.
187
188 2012-02-22  Ian Vollick  <vollick@chromium.org>
189
190         [chromium] Plumb from GraphicsLayer to the cc thread animation code
191         https://bugs.webkit.org/show_bug.cgi?id=75874
192
193         Reviewed by James Robinson.
194
195         * WebCore.gypi:
196         * page/Settings.cpp:
197         (WebCore::Settings::Settings):
198         * page/Settings.h:
199         (WebCore::Settings::setThreadedAnimationEnabled):
200         (WebCore::Settings::threadedAnimationEnabled):
201         (Settings):
202         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
203         (std):
204         (WebCore::GraphicsLayerChromium::addChild):
205         (WebCore::GraphicsLayerChromium::addAnimation):
206         (WebCore):
207         (WebCore::GraphicsLayerChromium::pauseAnimation):
208         (WebCore::GraphicsLayerChromium::removeAnimation):
209         (WebCore::GraphicsLayerChromium::suspendAnimations):
210         (WebCore::GraphicsLayerChromium::resumeAnimations):
211         (WebCore::GraphicsLayerChromium::setContentsToMedia):
212         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
213         (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
214         * platform/graphics/chromium/GraphicsLayerChromium.h:
215         (GraphicsLayerChromium):
216         * platform/graphics/chromium/LayerChromium.cpp:
217         (WebCore::LayerChromium::LayerChromium):
218         (WebCore::LayerChromium::addAnimation):
219         (WebCore):
220         (WebCore::LayerChromium::pauseAnimation):
221         (WebCore::LayerChromium::removeAnimation):
222         (WebCore::LayerChromium::suspendAnimations):
223         (WebCore::LayerChromium::resumeAnimations):
224         (WebCore::LayerChromium::setLayerAnimationController):
225         (WebCore::LayerChromium::pushPropertiesTo):
226         * platform/graphics/chromium/LayerChromium.h:
227         (WebCore):
228         (LayerChromium):
229         (WebCore::LayerChromium::layerAnimationController):
230         (WebCore::LayerChromium::numChildren):
231         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
232         (WebCore::CCActiveAnimation::create):
233         (WebCore):
234         (WebCore::CCActiveAnimation::CCActiveAnimation):
235         (WebCore::CCActiveAnimation::~CCActiveAnimation):
236         (WebCore::CCActiveAnimation::isWaiting):
237         (WebCore::CCActiveAnimation::isRunningOrHasRun):
238         (WebCore::CCActiveAnimation::cloneForImplThread):
239         (WebCore::CCActiveAnimation::synchronizeProperties):
240         * platform/graphics/chromium/cc/CCActiveAnimation.h:
241         (CCActiveAnimation):
242         (WebCore::CCActiveAnimation::AnimationSignature::AnimationSignature):
243         (AnimationSignature):
244         (WebCore::CCActiveAnimation::id):
245         (WebCore::CCActiveAnimation::group):
246         (WebCore::CCActiveAnimation::signature):
247         * platform/graphics/chromium/cc/CCAnimationCurve.h:
248         (CCAnimationCurve):
249         (CCTransformAnimationCurve):
250         * platform/graphics/chromium/cc/CCAnimationEvents.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCAnimationCurve.h.
251         (WebCore):
252         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
253         (CCAnimationStartedEvent):
254         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: Added.
255         (WebCore):
256         (WebCore::CCLayerAnimationController::CCLayerAnimationController):
257         (WebCore::CCLayerAnimationController::~CCLayerAnimationController):
258         (WebCore::CCLayerAnimationController::create):
259         (WebCore::CCLayerAnimationController::addAnimation):
260         (WebCore::CCLayerAnimationController::pauseAnimation):
261         (WebCore::CCLayerAnimationController::removeAnimation):
262         (WebCore::CCLayerAnimationController::suspendAnimations):
263         (WebCore::CCLayerAnimationController::resumeAnimations):
264         (WebCore::CCLayerAnimationController::synchronizeAnimations):
265         (WebCore::CCLayerAnimationController::removeCompletedAnimations):
266         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
267         (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
268         (WebCore::CCLayerAnimationController::pushAnimationProperties):
269         (WebCore::CCLayerAnimationController::getActiveAnimation):
270         (WebCore::CCLayerAnimationController::remove):
271         * platform/graphics/chromium/cc/CCLayerAnimationController.h: Added.
272         (WebCore):
273         (CCLayerAnimationController):
274         (WebCore::CCLayerAnimationController::activeAnimations):
275         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
276         (WebCore::CCLayerAnimationControllerImpl::~CCLayerAnimationControllerImpl):
277         (WebCore):
278         (WebCore::CCLayerAnimationControllerImpl::animate):
279         (WebCore::CCLayerAnimationControllerImpl::add):
280         (WebCore::CCLayerAnimationControllerImpl::getActiveAnimation):
281         (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
282         (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
283         (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
284         (WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations):
285         (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
286         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
287         (CCLayerAnimationControllerImplClient):
288         (CCLayerAnimationControllerImpl):
289         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
290         (WebCore::CCLayerImpl::CCLayerImpl):
291         * platform/graphics/chromium/cc/CCLayerImpl.h:
292         (CCLayerImpl):
293         (WebCore::CCLayerImpl::id):
294         (WebCore::CCLayerImpl::opacity):
295         (WebCore::CCLayerImpl::transform):
296         (WebCore::CCLayerImpl::bounds):
297         (WebCore::CCLayerImpl::layerAnimationController):
298         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
299         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
300         (WebCore::CCLayerTreeHost::setAnimationEvents):
301         (WebCore):
302         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
303         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
304         (WebCore::CCSettings::CCSettings):
305         (CCSettings):
306         (CCLayerTreeHost):
307         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
308         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
309         (WebCore::CCLayerTreeHostImpl::animate):
310         (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
311         (WebCore):
312         (WebCore::CCLayerTreeHostImpl::animatePageScale):
313         (WebCore::CCLayerTreeHostImpl::animateLayers):
314         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
315         (CCLayerTreeHostImplClient):
316         (CCLayerTreeHostImpl):
317         (WebCore::CCLayerTreeHostImpl::needsAnimateLayers):
318         (WebCore::CCLayerTreeHostImpl::setNeedsAnimateLayers):
319         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
320         (WebCore::CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread):
321         (WebCore):
322         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
323         (CCSingleThreadProxy):
324         (WebCore):
325         (DebugScopedSetMainThread):
326         (WebCore::DebugScopedSetMainThread::DebugScopedSetMainThread):
327         (WebCore::DebugScopedSetMainThread::~DebugScopedSetMainThread):
328         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
329         (WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
330         (WebCore):
331         (WebCore::CCThreadProxy::setAnimationEvents):
332         * platform/graphics/chromium/cc/CCThreadProxy.h:
333         (CCThreadProxy):
334
335 2012-02-22  Anders Carlsson  <andersca@apple.com>
336
337         Subframes with scrollable areas must be added to the non-fast scrollable region
338         https://bugs.webkit.org/show_bug.cgi?id=79306
339         <rdar://problem/10915564>
340
341         Reviewed by Andreas Kling.
342
343         When computing the non-fast scrollable region, add subframes with scrollable regions to the region.
344
345         * page/scrolling/ScrollingCoordinator.cpp:
346         (WebCore::computeNonFastScrollableRegion):
347
348 2012-02-22  Nate Chapin  <japhet@chromium.org>
349
350         CachedResourceLoader ignores the Range header
351         in determineRavlidationPolicy(), resulting in incorrect
352         cache hits.
353
354         Reviewed by Adam Barth.
355
356         Test: http/tests/xmlhttprequest/range-test.html
357         Test written by Aaron Colwell (acolwell@chromium.org).
358
359         * loader/cache/CachedResourceLoader.cpp:
360         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
361
362 2012-02-22  Antti Koivisto  <antti@apple.com>
363
364         REGRESSION (r104060): Web font is not loaded if specified by link element dynamically inserted
365         https://bugs.webkit.org/show_bug.cgi?id=79186
366
367         Reviewed by Andreas Kling.
368
369         Test: fast/css/font-face-insert-link.html
370         
371         If a dynamically inserted stylesheet contains @font-face rules, we may fail to update the rendering.
372         
373         Before r104060 the style selector was destroyed on every style change, and the font selector along with it.
374         This is no longer the case and we can't rely on comparing font selector pointers when comparing Fonts
375         for equality. This patch adds version number to the font selector and checks it in Font::operator==.
376         The version number is incremented when new font-face rules are added to the font selector.
377         
378         FontFallbackList is an object shared between Fonts so the extra field shouldn't matter much in terms
379         of memory.
380
381         * css/CSSFontSelector.cpp:
382         (WebCore::CSSFontSelector::CSSFontSelector):
383         (WebCore::CSSFontSelector::addFontFaceRule):
384         * css/CSSFontSelector.h:
385         (CSSFontSelector):
386         * platform/graphics/Font.cpp:
387         (WebCore::Font::operator==):
388         * platform/graphics/FontFallbackList.cpp:
389         (WebCore::FontFallbackList::FontFallbackList):
390         (WebCore::FontFallbackList::invalidate):
391         * platform/graphics/FontFallbackList.h:
392         (FontFallbackList):
393         (WebCore::FontFallbackList::fontSelectorVersion):
394         * platform/graphics/FontSelector.h:
395         (FontSelector):
396
397 2012-02-22  Nate Chapin  <japhet@chromium.org>
398
399         Prevent CachedRawResource from sending the same data
400         chunk multiple times.
401         https://bugs.webkit.org/show_bug.cgi?id=78810
402
403         Reviewed by Adam Barth.
404
405         If a CachedRawResource receives data while a CachedRawResourceCallback
406         timer is active, the incremental data will be sent to the client, followed
407         but all data received so far, resulting in invalid data. Resolving this adds
408         complexity to CachedRawResource and requires making a few more CachedResource
409         functions virtual, so push the callback logic into CachedResource where it can
410         be implemented more cleanly.
411
412         Test: inspector/debugger/script-formatter-console.html
413             should no longer be flaky.
414
415         * loader/cache/CachedRawResource.cpp: CachedRawResourceCallback renamed and moved to CachedResource.
416         (WebCore::CachedRawResource::didAddClient): More or less the same as sendCallbacks() was.
417         * loader/cache/CachedRawResource.h:
418         * loader/cache/CachedResource.cpp:
419         (WebCore::CachedResource::addClient): Check the return value of addClientToSet() to determine whether
420             or not to call didAddClient.
421         (WebCore::CachedResource::didAddClient): May be called during addClient(), or may be called on a timer.
422             If called on a timer, move the client between sets.
423         (WebCore::CachedResource::addClientToSet): Determine whether didAddClient() can be called synchronously and
424             return true if it can.
425         (WebCore::CachedResource::removeClient): Ensure we cancel pending callbacks if necessary.
426         (WebCore::CachedResource::CachedResourceCallback::CachedResourceCallback): Renamed and moved from CachedRawResource.
427         * loader/cache/CachedResource.h:
428         (WebCore::CachedResource::hasClients): Check m_clientsAwaitingCallback as well as m_clients.
429         (WebCore::CachedResource::CachedResourceCallback::schedule):
430         (WebCore::CachedResource::hasClient): Helper for calling contains() on both m_clientsAwaitingCallback and m_clients.
431
432 2012-02-22  Daniel Bates  <dbates@webkit.org>
433
434         Update change log entry for r108561 to reflect removal of "if (m_dispatchSoonList.isEmpty())".
435         https://bugs.webkit.org/show_bug.cgi?id=78840
436
437         Mention removal of unnecessary check for empty list m_dispatchSoonList in EventSender::cancelEvent().
438
439         Also, fix the date in the change log entry for changeset r108562 since it landed today (02/22/2012).
440
441 2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
442
443         Remove the remaining uses of CSSStyleDeclaration in Editor
444         https://bugs.webkit.org/show_bug.cgi?id=78939
445
446         Reviewed by Enrica Casucci.
447
448         Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
449         applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
450         to StylePropertySet.
451
452         * WebCore.exp.in:
453         * WebCore.xcodeproj/project.pbxproj:
454         * editing/Editor.cpp:
455         (WebCore::Editor::applyStyle):
456         (WebCore::Editor::shouldApplyStyle):
457         (WebCore::Editor::applyParagraphStyle):
458         (WebCore::Editor::applyStyleToSelection):
459         (WebCore::Editor::applyParagraphStyleToSelection):
460         (WebCore::Editor::setBaseWritingDirection):
461         (WebCore::Editor::computeAndSetTypingStyle):
462         * editing/Editor.h:
463         (WebCore):
464         (Editor):
465         * editing/EditorCommand.cpp:
466         (WebCore::applyCommandToFrame):
467         (WebCore::executeApplyParagraphStyle):
468         (WebCore::executeMakeTextWritingDirectionLeftToRight):
469         (WebCore::executeMakeTextWritingDirectionNatural):
470         (WebCore::executeMakeTextWritingDirectionRightToLeft):
471         * loader/EmptyClients.h:
472         (WebCore::EmptyEditorClient::shouldApplyStyle):
473         * page/DragController.cpp:
474         (WebCore::DragController::concludeEditDrag):
475         * page/EditorClient.h:
476         (WebCore):
477         (EditorClient):
478
479 2012-02-22  Daniel Bates  <dbates@webkit.org>
480
481         Abstract ImageEventSender into a general purpose EventSender
482         https://bugs.webkit.org/show_bug.cgi?id=78840
483
484         Reviewed by Adam Barth.
485
486         Abstract the functionality in ImageEventSender so that it can be used again.
487         This functionality may be useful in fixing WebKit Bug #38995.
488
489         No functionality was changed; no new tests.
490
491         * GNUmakefile.list.am: Added EventSender.h.
492         * Target.pri: Ditto.
493         * WebCore.gypi: Ditto.
494         * WebCore.vcproj/WebCore.vcproj: Ditto.
495         * WebCore.xcodeproj/project.pbxproj: Ditto.
496         * dom/EventSender.h: Added.
497         (WebCore):
498         (EventSender):
499         (WebCore::EventSender::eventType):
500         (WebCore::EventSender::hasPendingEvents):
501         (WebCore::EventSender::timerFired):
502         (WebCore::::EventSender):
503         (WebCore::::dispatchEventSoon):
504         (WebCore::::cancelEvent): Removed unnecessary check for empty list m_dispatchSoonList;
505         As far as I can tell this is an artifact of using a
506         QPtrList data structure for this functionality when it was originally in
507         DocumentImpl::removeImage() (see <http://trac.webkit.org/browser/trunk/WebCore/khtml/xml/DocumentImpl.cpp?rev=12515#L2302>),
508         which actually removed items from a list (as opposed to zeroing them out as we do
509         now).
510         (WebCore::::dispatchPendingEvents):
511         * loader/ImageLoader.cpp: Modified to use EventSender.
512         (WebCore):
513         (WebCore::ImageLoader::dispatchPendingEvent): Added; called by EventSender when the ImageLoader
514         should dispatch a pending BeforeLoad or Load event.
515         * loader/ImageLoader.h:
516         (WebCore):
517         (ImageLoader):
518
519 2012-02-22  Max Vujovic  <mvujovic@adobe.com>
520
521         Paddings and borders on root SVG element with viewbox causes child SVG elements to be rendered with the incorrect size
522         https://bugs.webkit.org/show_bug.cgi?id=78613
523
524         Reviewed by Nikolas Zimmermann.
525
526         When computing its localToBorderBoxTransform, RenderSVGRoot was using its width and height
527         as the dimensions of the SVG viewport. However, width and height include CSS borders and
528         paddings, which are not part of the SVG viewport area. Now, RenderSVGRoot uses its
529         contentWidth and contentHeight, which correspond to the SVG viewport area.
530
531         Tests: svg/custom/svg-root-padding-border-margin-expected.html
532                svg/custom/svg-root-padding-border-margin.html
533
534         * rendering/svg/RenderSVGRoot.cpp:
535         (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
536
537 2012-02-22  Raphael Kubo da Costa  <kubo@profusion.mobi>
538
539         [EFL] Get rid of GeolocationServiceEfl
540         https://bugs.webkit.org/show_bug.cgi?id=79270
541
542         Reviewed by Adam Barth.
543
544         These were just a bunch of dummy files with no real functionality, and
545         removing them helps the preparation of bug 78853, which will make
546         client-based geolocation the default.
547
548         No new tests, this functionality was not used.
549
550         * PlatformEfl.cmake:
551         * platform/efl/GeolocationServiceEfl.cpp: Removed.
552         * platform/efl/GeolocationServiceEfl.h: Removed.
553
554 2012-02-22  Julien Chaffraix  <jchaffraix@webkit.org>
555
556         Clean-up RenderTableSection::calcRowLogicalHeight
557         https://bugs.webkit.org/show_bug.cgi?id=77705
558
559         Reviewed by Eric Seidel.
560
561         Refactoring / simplication of the code.
562
563         This change removes some variables that were unneeded and were
564         hiding what the code was really doing. Also some of the code was
565         split and moved down to RenderTableCell.
566
567         * rendering/RenderTableCell.cpp:
568         (WebCore::RenderTableCell::logicalHeightForRowSizing):
569         * rendering/RenderTableCell.h:
570         (RenderTableCell):
571         Added the previous helper function to calculate the cell's
572         adjusted logical height.
573
574         * rendering/RenderTableSection.cpp:
575         (WebCore::RenderTableSection::calcRowLogicalHeight):
576         Removed some variables, simplified the rowspan logic to be clearer
577         (and added a comment about how we handle rowspans).
578
579 2012-02-22  Adam Barth  <abarth@webkit.org>
580
581         Move FILE_SYSTEM code out of DOMWindow and into the fileapi folder
582         https://bugs.webkit.org/show_bug.cgi?id=79259
583
584         Reviewed by Eric Seidel.
585
586         This patch is part of our ongoing effort to remove ifdefs from code
587         classes.  The FILE_SYSTEM code in DOMWindow doesn't really have any
588         necessary connection to DOMWindow.  DOMWindow is just the context
589         object that the API hangs off of.
590
591         This patch moves the FILE_SYSTEM code into the fileapi folder using
592         [Supplemental].
593
594         * CMakeLists.txt:
595         * DerivedSources.make:
596         * DerivedSources.pri:
597         * GNUmakefile.list.am:
598         * Target.pri:
599         * WebCore.gypi:
600         * fileapi/DOMWindowFileSystem.cpp: Added.
601         (WebCore):
602         (WebCore::DOMWindowFileSystem::DOMWindowFileSystem):
603         (WebCore::DOMWindowFileSystem::~DOMWindowFileSystem):
604         (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
605         (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
606         * fileapi/DOMWindowFileSystem.h: Added.
607         (WebCore):
608         (DOMWindowFileSystem):
609         * fileapi/DOMWindowFileSystem.idl: Added.
610         * page/DOMWindow.cpp:
611         (WebCore):
612         * page/DOMWindow.h:
613         (WebCore):
614         (DOMWindow):
615         * page/DOMWindow.idl:
616
617 2012-02-22  Luke Macpherson   <macpherson@chromium.org>
618
619         Re-implement many more HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macros in CSSStyleApplyProperty.
620         https://bugs.webkit.org/show_bug.cgi?id=79200
621
622         Reviewed by Andreas Kling.
623
624         No new tests / refactoring only.
625
626         * css/CSSStyleApplyProperty.cpp:
627         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
628         * css/CSSStyleSelector.cpp:
629         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
630         * rendering/style/RenderStyle.h:
631
632 2012-02-22  Tom Sepez  <tsepez@chromium.org>
633
634         XSSAuditor bypass with <svg> tags and html-entities.
635         https://bugs.webkit.org/show_bug.cgi?id=78836
636
637         Reviewed by Adam Barth.
638
639         Tests: http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html
640                http/tests/security/xssAuditor/script-tag-inside-svg-tag.html
641                http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html
642                http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html
643
644         * html/parser/XSSAuditor.cpp:
645         (WebCore::isNonCanonicalCharacter):
646         (WebCore::isTerminatingCharacter):
647         (WebCore):
648         (WebCore::startsHTMLCommentAt):
649         (WebCore::startsSingleLineCommentAt):
650         (WebCore::fullyDecodeString):
651         (WebCore::XSSAuditor::XSSAuditor):
652         (WebCore::XSSAuditor::init):
653         (WebCore::XSSAuditor::filterToken):
654         (WebCore::XSSAuditor::filterStartToken):
655         (WebCore::XSSAuditor::filterEndToken):
656         (WebCore::XSSAuditor::filterCharacterToken):
657         (WebCore::XSSAuditor::filterScriptToken):
658         (WebCore::XSSAuditor::filterObjectToken):
659         (WebCore::XSSAuditor::filterParamToken):
660         (WebCore::XSSAuditor::filterEmbedToken):
661         (WebCore::XSSAuditor::filterAppletToken):
662         (WebCore::XSSAuditor::filterIframeToken):
663         (WebCore::XSSAuditor::filterMetaToken):
664         (WebCore::XSSAuditor::filterBaseToken):
665         (WebCore::XSSAuditor::filterFormToken):
666         (WebCore::XSSAuditor::decodedSnippetForAttribute):
667         (WebCore::XSSAuditor::snippetForJavaScript):
668         * html/parser/XSSAuditor.h:
669         (XSSAuditor):
670
671 2012-02-22  Anders Carlsson  <andersca@apple.com>
672
673         Crash when marking cached pages for full style recalc
674         https://bugs.webkit.org/show_bug.cgi?id=79276
675         <rdar://problem/10884036>
676
677         Reviewed by Beth Dakin.
678
679         Guard against a null history item.
680
681         * history/BackForwardController.cpp:
682         (WebCore::BackForwardController::markPagesForFullStyleRecalc):
683
684 2012-02-22  Ken Buchanan  <kenrb@chromium.org>
685
686         Crash from empty anonymous block preceding :before content
687         https://bugs.webkit.org/show_bug.cgi?id=78250
688
689         Reviewed by David Hyatt.
690
691         RenderListMarkers getting removed from the tree in updateMarkerLocation()
692         can leave parent anonymous blocks behind with no children. This was
693         confusing updateBeforeAfterContent() because it does not expect
694         an empty block to precede :before content renderers.
695
696         Fix is to remove the anonymous block if it will lose all of its children.
697
698         * rendering/RenderListItem.cpp:
699         (WebCore::RenderListItem::updateMarkerLocation):
700
701 2012-02-22  Abhishek Arya  <inferno@chromium.org>
702
703         Crash due to accessing removed parent lineboxes when clearing view selection.
704         https://bugs.webkit.org/show_bug.cgi?id=79264
705
706         Reviewed by Eric Seidel.
707
708         When our block needed a full layout, we were deleting our own lineboxes
709         and letting descendant children (at any level in hierarchy and not just 
710         immediate children) clear their own lineboxes as we keep laying them out.
711         This was problematic because those descendant children lineboxes were
712         pointing to removed parent lineboxes in the meantime. An example scenario
713         where this would go wrong is first-letter object removal, which can cause
714         clearing view selection, leading to accessing parent lineboxes. The patch
715         modifies clearing the entire linebox tree upfront. It shouldn't introduce
716         performance issues since it will eventually happen as we are laying out
717         those children.
718  
719         Test: fast/css-generated-content/first-letter-textbox-parent-crash.html
720
721         * rendering/RenderBlockLineLayout.cpp:
722         (WebCore::RenderBlock::layoutInlineChildren):
723
724 2012-02-22  Abhishek Arya  <inferno@chromium.org>
725
726         Cloning and linebox issues in multi-column layout.
727         https://bugs.webkit.org/show_bug.cgi?id=78273
728
729         Reviewed by Eric Seidel.
730
731         Tests: fast/multicol/span/clone-flexbox.html
732                fast/multicol/span/clone-summary.html
733                fast/multicol/span/textbox-not-removed-crash.html
734
735         * rendering/RenderBlock.cpp:
736         (WebCore::RenderBlock::clone): Fix cloning algorithm to take
737         care of cloning descendant classes of RenderBlock.
738         (WebCore::RenderBlock::splitBlocks): When we move our inline children
739         to cloneBlock, we need to clear our entire line box tree. Any descendant
740         child in the hierarchy could be a part of our line box tree and will
741         never get cleared since the child has moved to new parent cloneBlock.
742
743 2012-02-22  Tim Dresser  <tdresser@chromium.org>
744
745         CCLayerTreeHostImpl calls didDraw more frequently than willDraw
746         https://bugs.webkit.org/show_bug.cgi?id=79139
747
748         Reviewed by James Robinson.
749
750         Ensure that didDraw is called if and only if willDraw was called previously.
751
752         CCLayerTreeHostImplTest.didDrawNotCalledOnHiddenLayer has been added to ensure that
753         hidden layers, for which willDraw is not called, will also not have didDraw called.
754
755         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
756         (WebCore::CCLayerTreeHostImpl::drawLayers):
757         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
758         (WebCore::CCVideoLayerImpl::didDraw):
759
760 2012-02-22  Levi Weintraub  <leviw@chromium.org>
761
762         ScrollbarThemeComposite::thumbPosition uses the result of a divide by zero
763         https://bugs.webkit.org/show_bug.cgi?id=78910
764
765         Reviewed by Eric Seidel.
766
767         Adding a check to avoid doing a floating point divide by zero and assigning NaN to an integer.
768         This causes problems with our conversion to subpixel layout, which asserts when we overflow.
769
770         * platform/ScrollbarThemeComposite.cpp:
771         (WebCore::ScrollbarThemeComposite::thumbPosition):
772
773 2012-02-22  Raymond Liu  <raymond.liu@intel.com>
774
775         Have the DynamicsCompressorNode support multi-channel data
776         https://bugs.webkit.org/show_bug.cgi?id=77856
777
778         Reviewed by Chris Rogers.
779
780         * platform/audio/DynamicsCompressor.cpp:
781         (WebCore::DynamicsCompressor::DynamicsCompressor):
782         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
783         (WebCore::DynamicsCompressor::process):
784         (WebCore::DynamicsCompressor::reset):
785         (WebCore::DynamicsCompressor::setNumberOfChannels):
786         (WebCore):
787         * platform/audio/DynamicsCompressor.h:
788         (DynamicsCompressor):
789         * platform/audio/DynamicsCompressorKernel.cpp:
790         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
791         (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
792         (WebCore):
793         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
794         (WebCore::DynamicsCompressorKernel::process):
795         (WebCore::DynamicsCompressorKernel::reset):
796         * platform/audio/DynamicsCompressorKernel.h:
797         (DynamicsCompressorKernel):
798         * webaudio/DynamicsCompressorNode.cpp:
799         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
800         (WebCore::DynamicsCompressorNode::initialize):
801
802 2012-02-22  Bear Travis  <betravis@adobe.com>
803
804         Not correctly recalculating layout for elements within nested SVG elements
805         https://bugs.webkit.org/show_bug.cgi?id=77535
806
807         Reviewed by Dirk Schulze.
808
809         Relatively positioned text is not correctly updating its position when the
810         size of its nearest viewport changes. Updating to mark text for layout when
811         viewPort size changes.
812         
813         Test: svg/repaint/inner-svg-change-viewPort-relative.svg
814
815         * rendering/svg/SVGRenderSupport.cpp:
816         (WebCore::SVGRenderSupport::layoutChildren):
817
818 2012-02-22  Alexei Svitkine  <asvitkine@chromium.org>
819
820         [chromium] Fix remaining compositing/rubberbanding test failures
821         https://bugs.webkit.org/show_bug.cgi?id=78008
822
823         These were happening due to the fact that ScrollView wasn't updating
824         the overhang layer when the contentsSize was updated. This is necessary
825         because calculateOverhangAreasForPainting() takes the contentsSize into
826         account when determining whether the overhang areas are visible.
827
828         Reviewed by James Robinson.
829
830         Re-enabled the following tests with updated baselines:
831         * platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png:
832         * platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png:
833         * platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png:
834         * platform/chromium/test_expectations.txt:
835
836         * platform/ScrollView.cpp:
837         (WebCore::ScrollView::setContentsSize):
838         (WebCore::ScrollView::scrollContents):
839         (WebCore::ScrollView::updateOverhangAreas):
840         (WebCore):
841         * platform/ScrollView.h:
842         (ScrollView):
843
844 2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
845
846         Web Inspector: [Regression] network worker tests crash on qt.
847         https://bugs.webkit.org/show_bug.cgi?id=79263
848
849         Reviewed by Pavel Feldman.
850
851         * inspector/InspectorPageAgent.cpp:
852         (WebCore::InspectorPageAgent::createDecoder):
853         (WebCore::InspectorPageAgent::cachedResourceContent):
854
855 2012-02-22  Adrienne Walker  <enne@google.com>
856
857         Unreviewed, rolling out r108518.
858         http://trac.webkit.org/changeset/108518
859         https://bugs.webkit.org/show_bug.cgi?id=75864
860
861         Breaks surfaceOcclusionWithOverlappingSiblingSurfaces unit test.
862
863         * WebCore.gypi:
864         * platform/graphics/chromium/cc/CCLayerIterator.cpp:
865         (WebCore):
866         (WebCore::CCLayerIteratorActions::BackToFront::begin):
867         (WebCore::CCLayerIteratorActions::BackToFront::end):
868         (WebCore::CCLayerIteratorActions::BackToFront::next):
869         (WebCore::CCLayerIteratorActions::FrontToBack::begin):
870         (WebCore::CCLayerIteratorActions::FrontToBack::end):
871         (WebCore::CCLayerIteratorActions::FrontToBack::next):
872         (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
873         * platform/graphics/chromium/cc/CCLayerIterator.h:
874         (WebCore):
875         (WebCore::CCLayerIterator::CCLayerIterator):
876         (WebCore::CCLayerIterator::operator++):
877         (WebCore::CCLayerIterator::operator==):
878         (WebCore::CCLayerIterator::operator->):
879         (WebCore::CCLayerIterator::operator*):
880         (WebCore::CCLayerIterator::representsTargetRenderSurface):
881         (WebCore::CCLayerIterator::representsContributingRenderSurface):
882         (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
883         (CCLayerIterator):
884         (BackToFront):
885         (FrontToBack):
886         * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
887         (WebCore):
888         (CCLayerIteratorPositionValue):
889         (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
890         (CCLayerIteratorPosition):
891         (WebCore::CCLayerIteratorPosition::currentLayer):
892         (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
893         (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
894         (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
895         (WebCore::CCLayerIteratorPosition::targetRenderSurface):
896         (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
897         (WebCore::CCLayerIteratorPosition::operator==):
898
899 2012-02-22  Dan Bernstein  <mitz@apple.com>
900
901         REGRESSION (r62632): page-break-inside: avoid is ignored
902         https://bugs.webkit.org/show_bug.cgi?id=79262
903
904         Reviewed by Adele Peterson.
905
906         This was disabled in r62632 because of <http://webkit.org/b/41532>. Changes to the
907         pagination code since then have invalidated that bug, so enabling the feature again does not
908         re-introduce the bug.
909
910         Updated expected results for printing/page-break-inside-avoid.html.
911
912         * rendering/RenderBlock.cpp:
913         (WebCore::RenderBlock::adjustForUnsplittableChild):
914
915 2012-02-22  Philippe Normand  <pnormand@igalia.com>
916
917         [GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer
918         https://bugs.webkit.org/show_bug.cgi?id=79236
919
920         Reviewed by Martin Robinson.
921
922         Store a pointer to the MediaPlayer object in the private structure
923         of the WebKitWebSrc element so we can call its public methods,
924         like ::referrer().
925
926         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
927         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
928         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
929         (_WebKitWebSrcPrivate):
930         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
931
932 2012-02-22  Martin Robinson  <mrobinson@igalia.com>
933
934         [GTK] Clean build is broken when using make -j
935         https://bugs.webkit.org/show_bug.cgi?id=76388
936
937         No new tests. This is just a build fix.
938
939         Use order-only dependencies to ensure that built sources are built before
940         files that depend on them.
941
942         * GNUmakefile.am: Establish an order-only dependency on some built sources before starting
943         to build non-generated sources. Rename some temporary files and variables to be more consistent.
944         * bindings/gobject/GNUmakefile.am: Updated to reflect new variable names.
945
946 2012-02-22  Dana Jansens  <danakj@chromium.org>
947
948         [Chromium] New CCOcclusionTracker class with tests
949         https://bugs.webkit.org/show_bug.cgi?id=78549
950
951         Reviewed by James Robinson.
952
953         Adds a CCOcclusionTrackerBase template class that is able to track occlusion
954         of layers while traversing the layer tree from front-to-back, with typedefed
955         versions for the main and impl threads.
956
957         At each step of the front-to-back traversal, the class should be notified of
958         changes to the current render target, and when done working with a layer, the
959         layer is added the tracked occlusion.
960
961         The class provides tests for checking if a rect in content space
962         for a layer/surface is occluded by others in front of it.
963
964         Unit tests: CCOcclusionTrackerTest.cpp
965
966         * WebCore.gypi:
967         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
968         (WebCore):
969         (WebCore::::enterTargetRenderSurface):
970         (WebCore::::finishedTargetRenderSurface):
971         (WebCore::transformSurfaceOpaqueRegion):
972         (WebCore::::leaveToTargetRenderSurface):
973         (WebCore::contentToScreenSpaceTransform):
974         (WebCore::contentToTargetSurfaceTransform):
975         (WebCore::computeOcclusionBehindLayer):
976         (WebCore::::markOccludedBehindLayer):
977         (WebCore::testContentRectOccluded):
978         (WebCore::::occluded):
979         (WebCore::::surfaceOccluded):
980         (WebCore::rectSubtractRegion):
981         (WebCore::computeUnoccludedContentRect):
982         (WebCore::::unoccludedContentRect):
983         (WebCore::::surfaceUnoccludedContentRect):
984         (WebCore::::currentOcclusionInScreenSpace):
985         (WebCore::::currentOcclusionInTargetSurface):
986         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
987         (WebCore):
988         (CCOcclusionTrackerBase):
989         (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
990         (StackObject):
991
992 2012-02-22  Joshua Bell  <jsbell@chromium.org>
993
994         [Chromium] IndexedDB: Integrate with about:tracing
995         https://bugs.webkit.org/show_bug.cgi?id=78831
996
997         Annotate interesting IDB functions so they show up in the
998         tracing utility included in the Chromium port.
999
1000         Reviewed by Tony Chang.
1001
1002         * WebCore.gypi:
1003         * WebCore.xcodeproj/project.pbxproj:
1004         * bindings/v8/IDBBindingUtilities.cpp:
1005         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
1006         (WebCore::injectIDBKeyIntoSerializedValue):
1007         * storage/IDBCursor.cpp:
1008         (WebCore::IDBCursor::direction):
1009         (WebCore::IDBCursor::key):
1010         (WebCore::IDBCursor::primaryKey):
1011         (WebCore::IDBCursor::value):
1012         (WebCore::IDBCursor::update):
1013         (WebCore::IDBCursor::continueFunction):
1014         (WebCore::IDBCursor::deleteFunction):
1015         * storage/IDBCursorBackendImpl.cpp:
1016         (WebCore::IDBCursorBackendImpl::direction):
1017         (WebCore::IDBCursorBackendImpl::key):
1018         (WebCore::IDBCursorBackendImpl::primaryKey):
1019         (WebCore::IDBCursorBackendImpl::value):
1020         (WebCore::IDBCursorBackendImpl::update):
1021         (WebCore::IDBCursorBackendImpl::continueFunction):
1022         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
1023         (WebCore::IDBCursorBackendImpl::deleteFunction):
1024         (WebCore::IDBCursorBackendImpl::prefetchContinue):
1025         (WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
1026         (WebCore::IDBCursorBackendImpl::prefetchReset):
1027         (WebCore::IDBCursorBackendImpl::close):
1028         * storage/IDBDatabase.cpp:
1029         (WebCore::IDBDatabase::dispatchEvent):
1030         * storage/IDBIndex.cpp:
1031         (WebCore::IDBIndex::openCursor):
1032         (WebCore::IDBIndex::count):
1033         (WebCore::IDBIndex::openKeyCursor):
1034         (WebCore::IDBIndex::get):
1035         (WebCore::IDBIndex::getKey):
1036         * storage/IDBIndexBackendImpl.cpp:
1037         (WebCore::IDBIndexBackendImpl::openCursorInternal):
1038         (WebCore::IDBIndexBackendImpl::openCursor):
1039         (WebCore::IDBIndexBackendImpl::openKeyCursor):
1040         (WebCore::IDBIndexBackendImpl::countInternal):
1041         (WebCore::IDBIndexBackendImpl::count):
1042         (WebCore::IDBIndexBackendImpl::getInternal):
1043         (WebCore::IDBIndexBackendImpl::get):
1044         (WebCore::IDBIndexBackendImpl::getKey):
1045         * storage/IDBObjectStore.cpp:
1046         (WebCore::IDBObjectStore::name):
1047         (WebCore::IDBObjectStore::keyPath):
1048         (WebCore::IDBObjectStore::indexNames):
1049         (WebCore::IDBObjectStore::transaction):
1050         (WebCore::IDBObjectStore::get):
1051         (WebCore::IDBObjectStore::add):
1052         (WebCore::IDBObjectStore::put):
1053         (WebCore::IDBObjectStore::deleteFunction):
1054         (WebCore::IDBObjectStore::clear):
1055         (WebCore::IDBObjectStore::createIndex):
1056         (WebCore::IDBObjectStore::index):
1057         (WebCore::IDBObjectStore::openCursor):
1058         (WebCore::IDBObjectStore::count):
1059         * storage/IDBObjectStoreBackendImpl.cpp:
1060         (WebCore::IDBObjectStoreBackendImpl::get):
1061         (WebCore::IDBObjectStoreBackendImpl::getInternal):
1062         (WebCore::fetchKeyFromKeyPath):
1063         (WebCore::injectKeyIntoKeyPath):
1064         (WebCore::IDBObjectStoreBackendImpl::put):
1065         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1066         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
1067         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
1068         (WebCore::IDBObjectStoreBackendImpl::clear):
1069         (WebCore::IDBObjectStoreBackendImpl::openCursor):
1070         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1071         (WebCore::IDBObjectStoreBackendImpl::count):
1072         (WebCore::IDBObjectStoreBackendImpl::countInternal):
1073         * storage/IDBRequest.cpp:
1074         (WebCore::IDBRequest::onSuccess):
1075         (WebCore::IDBRequest::onSuccessWithContinuation):
1076         (WebCore::IDBRequest::dispatchEvent):
1077         * storage/IDBTracing.h: Added.
1078         * storage/IDBTransaction.cpp:
1079         (WebCore::IDBTransaction::dispatchEvent):
1080         * storage/IDBTransactionBackendImpl.cpp:
1081         (WebCore::IDBTransactionBackendImpl::abort):
1082         (WebCore::IDBTransactionBackendImpl::commit):
1083         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
1084         (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
1085
1086 2012-02-22  Dana Jansens  <danakj@chromium.org>
1087
1088         [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
1089         https://bugs.webkit.org/show_bug.cgi?id=75864
1090
1091         Reviewed by James Robinson.
1092
1093         * platform/graphics/chromium/cc/CCLayerIterator.cpp:
1094         (WebCore::CCLayerIteratorActions::BackToFront::begin):
1095         (WebCore::CCLayerIteratorActions::BackToFront::end):
1096         (WebCore::CCLayerIteratorActions::BackToFront::next):
1097         (WebCore::CCLayerIteratorActions::FrontToBack::begin):
1098         (WebCore::CCLayerIteratorActions::FrontToBack::end):
1099         (WebCore::CCLayerIteratorActions::FrontToBack::next):
1100         (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
1101         * platform/graphics/chromium/cc/CCLayerIterator.h:
1102         (WebCore::CCLayerIterator::CCLayerIterator):
1103         (WebCore::CCLayerIterator::operator++):
1104         (WebCore::CCLayerIterator::operator==):
1105         (WebCore::CCLayerIterator::operator->):
1106         (WebCore::CCLayerIterator::operator*):
1107         (WebCore::CCLayerIterator::representsTargetRenderSurface):
1108         (WebCore::CCLayerIterator::representsContributingRenderSurface):
1109         (WebCore::CCLayerIterator::currentLayer):
1110         (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
1111         (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
1112         (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
1113         (WebCore::CCLayerIterator::targetRenderSurface):
1114         (WebCore::CCLayerIterator::targetRenderSurfaceChildren):
1115         * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.
1116
1117 2012-02-22  Pavel Feldman  <pfeldman@google.com>
1118
1119         Web Inspector: console doesn't show properly arrays from which tail values have been deleted
1120         https://bugs.webkit.org/show_bug.cgi?id=79242
1121
1122         Reviewed by Yury Semikhatsky.
1123
1124         * English.lproj/localizedStrings.js:
1125         * inspector/front-end/ConsoleMessage.js:
1126         (WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined):
1127         (WebInspector.ConsoleMessageImpl.prototype._printArray):
1128
1129 2012-02-22  Pavel Feldman  <pfeldman@google.com>
1130
1131         Web Inspector: warning external font mime (font/font/woff).
1132         https://bugs.webkit.org/show_bug.cgi?id=79244
1133
1134         Reviewed by Yury Semikhatsky.
1135
1136         * inspector/front-end/Resource.js:
1137
1138 2012-02-22  Yury Semikhatsky  <yurys@chromium.org>
1139
1140         Web Inspector: use dots as markers on the counter graphs
1141         https://bugs.webkit.org/show_bug.cgi?id=79243
1142
1143         Changed counter graphs marker and counter text styles.
1144
1145         Reviewed by Pavel Feldman.
1146
1147         * English.lproj/localizedStrings.js:
1148         * inspector/front-end/MemoryStatistics.js:
1149         (WebInspector.MemoryStatistics):
1150         (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
1151         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
1152         (WebInspector.MemoryStatistics.prototype._draw):
1153         (WebInspector.MemoryStatistics.prototype._onMouseOut):
1154         (WebInspector.MemoryStatistics.prototype._onMouseOver):
1155         (WebInspector.MemoryStatistics.prototype._onMouseMove):
1156         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
1157         (WebInspector.MemoryStatistics.prototype._recordIndexAt):
1158         (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
1159         (WebInspector.MemoryStatistics.prototype._clearMarkers):
1160         (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
1161         (WebInspector.MemoryStatistics.prototype.refresh):
1162         (WebInspector.MemoryStatistics.prototype._drawPolyline):
1163         (WebInspector.MemoryStatistics.prototype._clear):
1164         * inspector/front-end/timelinePanel.css:
1165         (.memory-counter-sidebar-info):
1166         (.memory-counter-sidebar-info .title):
1167         (.memory-counter-sidebar-info .counter-value):
1168
1169 2012-02-22  Pavel Feldman  <pfeldman@google.com>
1170
1171         Web Inspector: make 'glue asynchronous events' optional.
1172         https://bugs.webkit.org/show_bug.cgi?id=79240
1173
1174         Reviewed by Yury Semikhatsky.
1175
1176         * English.lproj/localizedStrings.js:
1177         * inspector/front-end/Images/statusbarButtonGlyphs.png:
1178         * inspector/front-end/TimelinePanel.js:
1179         (WebInspector.TimelinePanel.prototype.get statusBarItems):
1180         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1181         (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
1182         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
1183         (WebInspector.TimelinePanel.prototype._repopulateRecords):
1184         (WebInspector.TimelinePanel.prototype._findParentRecord):
1185         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1186         (WebInspector.TimelinePanel.prototype.sidebarResized):
1187         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
1188         (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
1189         (WebInspector.TimelineRecordGraphRow):
1190         (WebInspector.TimelineRecordGraphRow.prototype.update):
1191         (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
1192         * inspector/front-end/timelinePanel.css:
1193         (.glue-async-status-bar-item .glyph):
1194         (.timeline-start-at-zero-status-bar-item .glyph):
1195
1196 2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
1197
1198         Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
1199         https://bugs.webkit.org/show_bug.cgi?id=79229
1200
1201         Reviewed by Pavel Feldman.
1202
1203         Test: http/tests/inspector/console-xhr-logging-async.html
1204
1205         * inspector/InspectorResourceAgent.cpp:
1206         (WebCore::InspectorResourceAgent::setInitialScriptContent):
1207         * xml/XMLHttpRequest.cpp:
1208         (WebCore::XMLHttpRequest::didFinishLoading):
1209
1210 2012-02-22  Andrey Kosyakov  <caseq@chromium.org>
1211
1212         Web Inspector: fix memory counters and start-at-zero modes of timeline panels to co-exist nicely
1213         https://bugs.webkit.org/show_bug.cgi?id=79241
1214
1215         Reviewed by Yury Semikhatsky.
1216
1217         * inspector/front-end/MemoryStatistics.js:
1218         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
1219         * inspector/front-end/TimelineOverviewPane.js:
1220         (WebInspector.TimelineOverviewPane):
1221         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
1222         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
1223         (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
1224         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
1225         * inspector/front-end/TimelinePanel.js:
1226         (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):
1227
1228 2012-02-22  Andrey Kosyakov  <caseq@chromium.org>
1229
1230         Web Inspector: [experimental] add a mode to display timeline events aligned by the start time
1231         https://bugs.webkit.org/show_bug.cgi?id=79123
1232
1233         Reviewed by Pavel Feldman.
1234
1235         * inspector/front-end/Images/statusbarButtonGlyphs.png:
1236         * inspector/front-end/Settings.js:
1237         (WebInspector.ExperimentsSettings):
1238         * inspector/front-end/TimelineOverviewPane.js:
1239         (WebInspector.TimelineOverviewPane):
1240         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
1241         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
1242         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
1243         (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
1244         (WebInspector.TimelineOverviewPane.prototype.update):
1245         (WebInspector.TimelineOverviewPane.prototype.reset):
1246         (WebInspector.TimelineOverviewWindow):
1247         (WebInspector.TimelineOverviewWindow.prototype.reset):
1248         (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
1249         (WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
1250         (WebInspector.TimelineStartAtZeroOverview):
1251         (WebInspector.TimelineStartAtZeroOverview.prototype.reset):
1252         (WebInspector.TimelineStartAtZeroOverview.prototype.update):
1253         (WebInspector.TimelineStartAtZeroOverview.prototype._filterRecords):
1254         (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
1255         (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
1256         * inspector/front-end/TimelinePanel.js:
1257         (WebInspector.TimelinePanel.prototype.get statusBarItems):
1258         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1259         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
1260         (WebInspector.TimelinePanel.prototype.get _startAtZero):
1261         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1262         (WebInspector.TimelinePanel.prototype.sidebarResized):
1263         (WebInspector.TimelinePanel.prototype._onRecordsCleared):
1264         (WebInspector.TimelinePanel.prototype._resetPanel):
1265         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1266         (WebInspector.TimelinePanel.prototype._refresh):
1267         (WebInspector.TimelinePanel.prototype._filterRecords):
1268         (WebInspector.TimelinePanel.prototype._refreshRecords):
1269         (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
1270         (WebInspector.TimelineStartAtZeroCalculator):
1271         (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
1272         (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphWindowPosition):
1273         (WebInspector.TimelineStartAtZeroCalculator.prototype.calculateWindow):
1274         (WebInspector.TimelineStartAtZeroCalculator.prototype.reset):
1275         (WebInspector.TimelineStartAtZeroCalculator.prototype.updateBoundaries):
1276         (WebInspector.TimelineStartAtZeroCalculator.prototype.formatValue):
1277         (WebInspector.TimelinePanel.FormattedRecord):
1278         (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
1279         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1280         (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
1281         (WebInspector.TimelinePanel.FormattedRecord.prototype.get aggregatedStats):
1282         (WebInspector.TimelineModel.prototype.get records):
1283         (WebInspector.TimelinePresentationModel):
1284         (WebInspector.TimelinePresentationModel.prototype.reset):
1285         (WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
1286         (WebInspector.TimelineRecordFilter):
1287         (WebInspector.TimelineRecordFilter.prototype.accept):
1288         (WebInspector.TimelineStartAtZeroRecordFilter):
1289         (WebInspector.TimelineStartAtZeroRecordFilter.prototype.accept):
1290         * inspector/front-end/timelinePanel.css:
1291         (.timeline-start-at-zero #timeline-overview-sidebar):
1292         (.timeline-start-at-zero #timeline-overview-grid):
1293         (.timeline-overview-window):
1294         (.timeline-start-at-zero .timeline-overview-window):
1295         (.timeline-start-at-zero .timeline-overview-dividers-background):
1296         (.timeline-overview-window-rulers):
1297         (.timeline-start-at-zero #timeline-overview-memory):
1298         (.popover .timeline-loading):
1299         (.popover .timeline-scripting):
1300         (.popover .timeline-rendering):
1301         (.timeline-start-at-zero-status-bar-item .glyph):
1302         (.timeline-start-at-zero-status-bar-item.toggled-on .glyph):
1303         (.timeline-overview-start-at-zero):
1304         (.timeline-overview-start-at-zero-bars):
1305         (.timeline-overview-start-at-zero-bars .padding):
1306         (.timeline-overview-start-at-zero-bars .timeline-bar-vertical):
1307         (.timeline-bar-vertical div:first-child):
1308         (.timeline-bar-vertical .timeline-loading):
1309         (.timeline-bar-vertical .timeline-scripting):
1310         (.timeline-bar-vertical .timeline-rendering):
1311
1312 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1313
1314         [Qt] Disregard previous backing store as soon as possible
1315         https://bugs.webkit.org/show_bug.cgi?id=79232
1316
1317         Reviewed by Simon Hausmann and No'am Rosenthal.
1318
1319         Make it possible to drop non-visible tiles and to test
1320         if the current visible rect is fully covered.
1321
1322         * platform/graphics/TiledBackingStore.cpp:
1323         (WebCore::TiledBackingStore::visibleContentsRect):
1324         (WebCore::TiledBackingStore::coverageRatio):
1325         (WebCore::TiledBackingStore::visibleAreaIsCovered):
1326         (WebCore):
1327         (WebCore::TiledBackingStore::createTiles):
1328         (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
1329         * platform/graphics/TiledBackingStore.h:
1330         (TiledBackingStore):
1331
1332 2012-02-22  Simon Hausmann  <simon.hausmann@nokia.com>
1333
1334         [Qt] Move QMenu dependant scrollbar context menu handling out of WebCore
1335         https://bugs.webkit.org/show_bug.cgi?id=79233
1336
1337         Reviewed by Kenneth Rohde Christiansen.
1338
1339         Move the code into WebKit/qt/Api/qwebpage.cpp, the only place where it is called from.
1340
1341         * Target.pri: Remove ScrollbarQt.cpp from build.
1342         * platform/Scrollbar.h: Remove Qt-only context menu handling but make moveThum
1343         accessible from the outside.
1344         * platform/qt/ScrollbarQt.cpp: Removed. Not needed anymore.
1345
1346 2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
1347
1348         Web Inspector: retrieving content for some XHR requests crashes inspected page renderer
1349         https://bugs.webkit.org/show_bug.cgi?id=79026
1350
1351         Reviewed by Pavel Feldman.
1352
1353         Fixed loading empty xhr content and xhr content decoding that was
1354         broken in r107672.
1355
1356         Tests: http/tests/inspector/network/network-cyrillic-xhr.html
1357                http/tests/inspector/network/network-empty-xhr.html
1358
1359         * inspector/InspectorPageAgent.cpp:
1360         (WebCore):
1361         (WebCore::InspectorPageAgent::createDecoder):
1362         (WebCore::InspectorPageAgent::cachedResourceContent):
1363         * inspector/InspectorPageAgent.h:
1364         (WebCore):
1365         * inspector/NetworkResourcesData.cpp:
1366         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
1367         (WebCore::NetworkResourcesData::responseReceived):
1368         * inspector/NetworkResourcesData.h:
1369         (WebCore::NetworkResourcesData::ResourceData::decoder):
1370         (WebCore::NetworkResourcesData::ResourceData::setDecoder):
1371
1372 2012-02-22  Peter Rybin  <peter.rybin@gmail.com>
1373
1374         Web Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions
1375         https://bugs.webkit.org/show_bug.cgi?id=79153
1376
1377         Reviewed by Yury Semikhatsky.
1378
1379         CParamType class removed completely, some ("virtual") methods are
1380         removed. TypeModel notion is added instead with some minor helper
1381         classes and methods.
1382
1383         * inspector/CodeGeneratorInspector.py:
1384         (DomainNameFixes):
1385         (RawTypes.BaseType):
1386         (RawTypes.String):
1387         (RawTypes.String.get_raw_type_model):
1388         (RawTypes.Int):
1389         (RawTypes.Int.get_raw_type_model):
1390         (RawTypes.Number):
1391         (RawTypes.Number.get_raw_type_model):
1392         (RawTypes.Bool):
1393         (RawTypes.Bool.get_raw_type_model):
1394         (RawTypes.Object):
1395         (RawTypes.Object.get_raw_type_model):
1396         (RawTypes.Any):
1397         (RawTypes.Any.get_raw_type_model):
1398         (RawTypes.Array):
1399         (RawTypes.Array.get_raw_type_model):
1400         (replace_right_shift):
1401         (CommandReturnPassModel):
1402         (CommandReturnPassModel.ByReference):
1403         (CommandReturnPassModel.ByReference.__init__):
1404         (CommandReturnPassModel.ByReference.get_return_var_type):
1405         (CommandReturnPassModel.get_output_argument_prefix):
1406         (CommandReturnPassModel.get_output_to_raw_expression):
1407         (CommandReturnPassModel.get_output_parameter_type):
1408         (CommandReturnPassModel.get_set_return_condition):
1409         (CommandReturnPassModel.ByPointer):
1410         (CommandReturnPassModel.ByPointer.__init__):
1411         (CommandReturnPassModel.ByPointer.get_return_var_type):
1412         (TypeModel):
1413         (TypeModel.RefPtrBased):
1414         (TypeModel.RefPtrBased.__init__):
1415         (TypeModel.RefPtrBased.get_optional):
1416         (TypeModel.RefPtrBased.get_command_return_pass_model):
1417         (TypeModel.RefPtrBased.get_input_param_type_text):
1418         (TypeModel.RefPtrBased.get_event_setter_expression_pattern):
1419         (TypeModel.Enum):
1420         (TypeModel.Enum.__init__):
1421         (TypeModel.Enum.get_optional):
1422         (TypeModel.Enum.get_optional.EnumOptional):
1423         (TypeModel.Enum.get_optional.EnumOptional.get_optional):
1424         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
1425         (TypeModel.Enum.get_input_param_type_text):
1426         (TypeModel.Enum.get_event_setter_expression_pattern):
1427         (TypeModel.Enum.get_command_return_pass_model):
1428         (TypeModel.ValueType):
1429         (TypeModel.ValueType.__init__):
1430         (TypeModel.ValueType.get_optional):
1431         (TypeModel.ValueType.get_command_return_pass_model):
1432         (TypeModel.ValueType.get_input_param_type_text):
1433         (TypeModel.ValueType.get_event_setter_expression_pattern):
1434         (TypeModel.ValueType.ValueOptional):
1435         (TypeModel.ValueType.ValueOptional.__init__):
1436         (TypeModel.ValueType.ValueOptional.get_optional):
1437         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
1438         (TypeModel.ValueType.ValueOptional.get_input_param_type_text):
1439         (TypeModel.ValueType.ValueOptional.get_event_setter_expression_pattern):
1440         (TypeModel.init_class):
1441         (TypeBindings.create_ad_hoc_type_declaration.Helper):
1442         (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
1443         (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
1444         (TypeBindings.create_type_declaration_.EnumBinding):
1445         (TypeBindings.create_type_declaration_.EnumBinding.get_type_model):
1446         (TypeBindings.create_type_declaration_):
1447         (TypeBindings.create_type_declaration_.get_type_model):
1448         (TypeBindings.create_type_declaration_.get_array_item_c_type_text):
1449         (get_type_model):
1450         (AdHocTypeContextImpl.__init__):
1451         (PlainObjectBinding):
1452         (PlainObjectBinding.get_type_model):
1453         (AdHocTypeContext):
1454         (ArrayBinding.get_array_item_c_type_text):
1455         (ArrayBinding):
1456         (ArrayBinding.get_type_model):
1457         (RawTypeBinding.get_validator_call_text):
1458         (RawTypeBinding.reduce_to_raw_type):
1459         (RawTypeBinding):
1460         (RawTypeBinding.get_type_model):
1461         (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
1462         (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
1463         (MethodGenerateModes.CombinedMode.get_c_param_type_text):
1464         (Generator.go):
1465         (Generator.process_event):
1466         (Generator.process_command):
1467         (Generator.resolve_type_and_generate_ad_hoc):
1468         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
1469         * inspector/InspectorDebuggerAgent.cpp:
1470         (WebCore::InspectorDebuggerAgent::didParseSource):
1471
1472 2012-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
1473
1474         Web Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB elements in resources panel.
1475         https://bugs.webkit.org/show_bug.cgi?id=79098
1476
1477         Reviewed by Pavel Feldman.
1478
1479         * English.lproj/localizedStrings.js:
1480         * WebCore.gypi:
1481         * WebCore.vcproj/WebCore.vcproj:
1482         * inspector/InspectorIndexedDBAgent.cpp:
1483         (WebCore):
1484         * inspector/compile-front-end.sh:
1485         * inspector/front-end/IndexedDBModel.js:
1486         (WebInspector.IndexedDBModel.prototype._assertFrameId):
1487         (WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
1488         (WebInspector.IndexedDBModel.prototype.loadIndexData):
1489         * inspector/front-end/IndexedDBViews.js: Added.
1490         * inspector/front-end/ObjectPropertiesSection.js:
1491         (WebInspector.ObjectPropertiesSection):
1492         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
1493         * inspector/front-end/ResourcesPanel.js:
1494         (WebInspector.ResourcesPanel.prototype.showIndexedDB):
1495         (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
1496         (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
1497         (WebInspector.IDBDatabaseTreeElement):
1498         (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
1499         (WebInspector.IDBDatabaseTreeElement.prototype.update):
1500         (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
1501         (WebInspector.IDBObjectStoreTreeElement):
1502         (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
1503         (WebInspector.IDBObjectStoreTreeElement.prototype.update):
1504         (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
1505         (WebInspector.IDBIndexTreeElement):
1506         (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
1507         (WebInspector.IDBIndexTreeElement.prototype.update):
1508         (WebInspector.IDBIndexTreeElement.prototype.onselect):
1509         * inspector/front-end/WebKit.qrc:
1510         * inspector/front-end/externs.js:
1511         * inspector/front-end/indexedDBViews.css: Added.
1512         * inspector/front-end/inspector.html:
1513
1514 2012-02-22  Nikolas Zimmermann  <nzimmermann@rim.com>
1515
1516         REGRESSION(58212): html foreignObjects with positions other than static not hidden correctly when parent has display:none
1517         https://bugs.webkit.org/show_bug.cgi?id=41386
1518
1519         Reviewed by Zoltan Herczeg.
1520
1521         r58212 gave SVGGElements a renderer, regardless if "display: none" was set or not, for various reasons (see change set).
1522         The <g> renderer for such cases is a RenderSVGHiddenContainer. We make sure in SVG that such subtrees are never used
1523         for painting & hittesting - they only exist for the purpose of SVG DOM (query getCTM, etc..) and to create renderers
1524         for child resources, like <g display="none"><linearGradient>.
1525
1526         This concept still works fine for: <g display="none"><foreignObject><body>Foobar</body></foreignObject></g>, as
1527         RenderSVGForeignObject::paint is never called thus we never paint the subtree of the <fO>. If the <body> elements
1528         contains "position: relative" a new layer is created for the <body>. When the document paints we have two seperated
1529         layers, and the <body> layer doesn't know that it's actually inside a "SVG hidden subtree", and gets painted, where it
1530         shouldn't. HTML doesn't have this problems, as a display: none object, never creates a renderer.
1531
1532         The fix is to disallow layer creation in hidden SVG subtrees, to mimic what would happen if we'd follow HTML rules
1533         to not create renderers for display: none objects. This avoids any indirections - as no layers are created anymore.
1534
1535         Tests: svg/foreignObject/fO-display-none-with-relative-pos-content.svg
1536                svg/foreignObject/fO-display-none.svg
1537                svg/foreignObject/fO-parent-display-changes.svg
1538                svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg
1539                svg/foreignObject/fO-parent-display-none.svg
1540                svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg
1541                svg/foreignObject/fO-parent-of-parent-display-none.svg
1542
1543         * rendering/RenderBoxModelObject.cpp:
1544         (WebCore::RenderBoxModelObject::styleDidChange): Only create layers, if its allowed -- layerCreationAllowedForSubtree() will always return true for HTML, and only false for layers inside a hidden SVG subtree.
1545         * rendering/RenderObject.cpp:
1546         (WebCore::RenderObject::addChild): Only create layers, if its allowed.
1547         * rendering/RenderObject.h: Add inline layerCreationAllowedForSubtree() helper, that craws the tree to find a RenderSVGHiddenContainer ancestor, if not present, return true.
1548
1549 2012-02-22  Zoltan Herczeg  <zherczeg@webkit.org>
1550
1551         Drop clipToImageBuffer from RenderBoxModelObject
1552         https://bugs.webkit.org/show_bug.cgi?id=79225
1553
1554         Reviewed by Nikolas Zimmermann.
1555
1556         -webkit-background-clip: text is a rarely used non-standard
1557         feature uses clipToImageBuffer. It is replaced by
1558         CompositeDestinationIn on a transparent layer. The new
1559         approach has the same speed as the old one.
1560
1561         Existing tests cover this issue.
1562
1563         * rendering/RenderBoxModelObject.cpp:
1564         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1565
1566 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1567
1568         Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
1569         the more descriptive coverWithTilesIfNeeded
1570         https://bugs.webkit.org/show_bug.cgi?id=79230
1571
1572         Reviewed by Simon Hausmann.
1573
1574         Both setVisibleRectTrajectoryVector and the adjustVisibleRect are
1575         used for initiating re-tiling, so make that more obvious and merge
1576         the two.
1577
1578         * platform/graphics/TiledBackingStore.cpp:
1579         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
1580         * platform/graphics/TiledBackingStore.h:
1581         (TiledBackingStore):
1582
1583 2012-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
1584
1585         REGRESSION: unbalanced transparency layers for clipPath
1586         https://bugs.webkit.org/show_bug.cgi?id=78074
1587
1588         Reviewed by Zoltan Herczeg.
1589
1590         If we're rendering to a mask image buffer, all children are rendered with opacity=1, regardless what their RenderStyles specify.
1591         SVGRenderSupport::finishRenderSVGContent() did not take this into account and always called endTransparencyLayer(). Fix that
1592         by checking if we're rendering to a mask image buffer, if so don't call endTransparencyLayer().
1593
1594         Add new reftest covering both the visual & logical correctness (no assertion).
1595
1596         Tests: svg/clip-path/opacity-assertion-expected.svg
1597                svg/clip-path/opacity-assertion.svg
1598
1599         * rendering/svg/SVGRenderSupport.cpp:
1600         (WebCore::isRenderingMaskImage): Extraced as sharable helper function.
1601         (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Factor out isRenderingMaskImage() function.
1602         (WebCore::SVGRenderSupport::finishRenderSVGContent): Only call endTransparencyLayer(), if we actually called beginTL() first. 
1603
1604 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1605
1606         Improve comments in tiling code.
1607
1608         Rubberstamped by Simon Hausmann.
1609
1610         * platform/graphics/TiledBackingStore.cpp:
1611         (WebCore::TiledBackingStore::createTiles):
1612
1613 2012-02-22  'Pavel Feldman'  <pfeldman@google.com>
1614
1615         Not reviewed: build fix.
1616
1617         * inspector/InspectorController.cpp:
1618         * inspector/InspectorController.h:
1619         (InspectorController):
1620
1621 2012-02-21  Pavel Feldman  <pfeldman@google.com>
1622
1623         Web Inspector: do not filter out requestAnimationFrame from timeline, implement stop on animation events.
1624         https://bugs.webkit.org/show_bug.cgi?id=79116
1625
1626         Reviewed by Yury Semikhatsky.
1627
1628         * English.lproj/localizedStrings.js:
1629         * dom/ScriptedAnimationController.cpp:
1630         (WebCore::ScriptedAnimationController::registerCallback):
1631         * inspector/InspectorInstrumentation.cpp:
1632         (WebCore):
1633         (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallbackImpl):
1634         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
1635         (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
1636         * inspector/InspectorInstrumentation.h:
1637         (InspectorInstrumentation):
1638         (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallback):
1639         * inspector/InspectorTimelineAgent.cpp:
1640         (TimelineRecordType):
1641         (WebCore::InspectorTimelineAgent::didRequestAnimationFrameCallback):
1642         (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
1643         (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
1644         (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
1645         * inspector/InspectorTimelineAgent.h:
1646         (InspectorTimelineAgent):
1647         * inspector/front-end/BreakpointsSidebarPane.js:
1648         (WebInspector.EventListenerBreakpointsSidebarPane):
1649         (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
1650         * inspector/front-end/TimelineAgent.js:
1651         * inspector/front-end/TimelinePanel.js:
1652         (WebInspector.TimelinePanel):
1653         (WebInspector.TimelinePanel.prototype.get _recordStyles):
1654         (WebInspector.TimelinePanel.prototype._findParentRecord):
1655         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1656         (WebInspector.TimelinePanel.prototype._onRecordsCleared):
1657         (WebInspector.TimelinePanel.FormattedRecord):
1658         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1659         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1660
1661 2012-02-22  Changhun Kang  <temoochin@company100.net>
1662
1663         Remove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h
1664         https://bugs.webkit.org/show_bug.cgi?id=79175
1665
1666         Reviewed by Kentaro Hara.
1667
1668         * page/scrolling/ScrollingCoordinator.h:
1669         Remove PlatformGestureEvent class declaration.
1670         (WebCore):
1671
1672 2012-02-22  Andras Becsi  <andras.becsi@nokia.com>
1673
1674         [Qt][WK2] Fix the N9 build
1675         https://bugs.webkit.org/show_bug.cgi?id=79101
1676
1677         Reviewed by Simon Hausmann.
1678
1679         Fixed the include order of the rolled out r108359 not to break
1680         the build with CONFIG+=force_static_libs_as_shared.
1681
1682         * platform/graphics/OpenGLShims.h: Add missing include.
1683
1684 2012-02-22  Shinya Kawanaka  <shinyak@chromium.org>
1685
1686         firstRendererOf() should also return a fallback element renderer in NodeRenderingContext.
1687         https://bugs.webkit.org/show_bug.cgi?id=79180
1688
1689         Reviewed by Hajime Morita.
1690
1691         Currently we have handled AttachingFallback in some special mannger, however if firstRendererOf
1692         and lastRendererOf return a fallback element renderer, we don't need to handle it in such a manner.
1693
1694         We have introduced new attaching phase: AttachingFallbacked, and AttachingNotFallbacked.
1695         They are used for fallback elements.
1696
1697         Added new test cases in:
1698           fast/dom/shadow/shadow-contents-fallback.html
1699           fast/dom/shadow/shadow-contents-fallback-dynamic.html
1700
1701         * dom/NodeRenderingContext.cpp:
1702         (WebCore::NodeRenderingContext::NodeRenderingContext):
1703         (WebCore::firstRendererOf):
1704         (WebCore::lastRendererOf):
1705         (WebCore::NodeRenderingContext::nextRenderer):
1706         (WebCore::NodeRenderingContext::previousRenderer):
1707         (WebCore::NodeRenderingContext::shouldCreateRenderer):
1708         * dom/NodeRenderingContext.h:
1709         * html/shadow/InsertionPoint.h:
1710         (WebCore::isInsertionPoint):
1711         (WebCore):
1712         (WebCore::toInsertionPoint):
1713
1714 2012-02-22  Csaba Osztrogonác  <ossy@webkit.org>
1715
1716         [Qt] Unreviewed gardening after r108464.
1717
1718         * Target.pri:
1719
1720 2012-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1721
1722         Unreviewed, rolling out r108468.
1723         http://trac.webkit.org/changeset/108468
1724         https://bugs.webkit.org/show_bug.cgi?id=79219
1725
1726         Broke Chromium Win release build (Requested by bashi on
1727         #webkit).
1728
1729         * CMakeLists.txt:
1730         * GNUmakefile.list.am:
1731         * Target.pri:
1732         * WebCore.gypi:
1733         * WebCore.vcproj/WebCore.vcproj:
1734         * WebCore.xcodeproj/project.pbxproj:
1735         * websockets/WebSocket.cpp:
1736         (WebCore::WebSocket::didConnect):
1737         * websockets/WebSocketChannel.cpp:
1738         (WebCore::WebSocketChannel::connect):
1739         (WebCore::WebSocketChannel::fail):
1740         (WebCore::WebSocketChannel::processFrame):
1741         (WebCore::WebSocketChannel::sendFrame):
1742         * websockets/WebSocketChannel.h:
1743         * websockets/WebSocketDeflateFramer.cpp: Removed.
1744         * websockets/WebSocketDeflateFramer.h: Removed.
1745
1746 2012-02-20  Roland Steiner  <rolandsteiner@chromium.org>
1747
1748         <style scoped>: Add runtime-flag
1749         https://bugs.webkit.org/show_bug.cgi?id=79074
1750
1751         Added runtime-flag.
1752         Query runtime flag when (un)registering a <style scoped> element, and when determineing a style sheet's scope.
1753
1754         Reviewed by Dimitri Glazkov.
1755
1756         No new tests. (no change in functionality)
1757
1758         * bindings/generic/RuntimeEnabledFeatures.cpp:
1759         (WebCore):
1760         * bindings/generic/RuntimeEnabledFeatures.h:
1761         (RuntimeEnabledFeatures):
1762         (WebCore::RuntimeEnabledFeatures::styleScopedEnabled):
1763         (WebCore::RuntimeEnabledFeatures::setStyleScopedEnabled):
1764         * css/CSSStyleSelector.cpp:
1765         (WebCore::CSSStyleSelector::determineScopingElement):
1766         * html/HTMLStyleElement.cpp:
1767         (WebCore::HTMLStyleElement::registerWithScopingNode):
1768         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
1769         * html/HTMLStyleElement.idl:
1770
1771 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
1772
1773         Web Inspector: Audit rules to recommend unprefixing supported CSS properties
1774         https://bugs.webkit.org/show_bug.cgi?id=78985
1775
1776         Reviewed by Pavel Feldman.
1777
1778         * inspector/front-end/AuditCategories.js:
1779         (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
1780         * inspector/front-end/AuditRules.js:
1781         (WebInspector.AuditRules.CSSRuleBase):
1782         (WebInspector.AuditRules.CSSRuleBase.prototype.doRun.sheetsCallback):
1783         (WebInspector.AuditRules.CSSRuleBase.prototype.doRun):
1784         (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet.sheetCallback):
1785         (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet):
1786         (WebInspector.AuditRules.CSSRuleBase.prototype._visitRule):
1787         (WebInspector.AuditRules.CSSRuleBase.prototype.visitStyleSheet):
1788         (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitStyleSheet):
1789         (WebInspector.AuditRules.CSSRuleBase.prototype.visitRule):
1790         (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitRule):
1791         (WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty):
1792         (WebInspector.AuditRules.VendorPrefixedCSSProperties):
1793         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitStyleSheet):
1794         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitRule):
1795         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitRule):
1796         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
1797         * inspector/front-end/ResourceUtils.js:
1798
1799 2012-02-22  Shinya Kawanaka  <shinyak@chromium.org>
1800
1801         Node::attach() should be after attaching children in Element::attach().
1802         https://bugs.webkit.org/show_bug.cgi?id=79201
1803
1804         Reviewed by Hajime Morita.
1805
1806         In Element::attach(), Node::attach() is called before attaching children if a shaodw root exists.
1807         This may cause O(N^2) problem in NodeRenderingContext.
1808
1809         No new tests. Existing tests should cover this.
1810
1811         * dom/Element.cpp:
1812         (WebCore::Element::attach):
1813
1814 2012-02-22  Kenichi Ishibashi  <bashi@chromium.org>
1815
1816         Adding WebSocket per-frame DEFLATE extension
1817         https://bugs.webkit.org/show_bug.cgi?id=77522
1818
1819         Add WebSocketDeflateFramer class which handles deflate-frame extension.
1820         This class encapsulates WebSocketDeflater and WebSocketInflater classes,
1821         which depend on zlib, so that WebSocketChannel is not necessary to aware
1822         zlib dependency.
1823
1824         Reviewed by Kent Tamura.
1825
1826         Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
1827                http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
1828                http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
1829                http/tests/websocket/tests/hybi/deflate-frame-parameter.html
1830
1831         * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
1832         * GNUmakefile.list.am: Ditto.
1833         * Target.pri: Ditto.
1834         * WebCore.gypi: Ditto.
1835         * WebCore.vcproj/WebCore.vcproj: Ditto.
1836         * WebCore.xcodeproj/project.pbxproj: Ditto.
1837         * websockets/WebSocket.cpp:
1838         (WebCore::WebSocket::didConnect): Set m_extensions.
1839         * websockets/WebSocketChannel.cpp:
1840         (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
1841         (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
1842         (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
1843         (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
1844         * websockets/WebSocketChannel.h:
1845         * websockets/WebSocketDeflateFramer.cpp: Added.
1846         (WebCore):
1847         (WebSocketExtensionDeflateFrame):
1848         (WebCore::WebSocketExtensionDeflateFrame::create):
1849         (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
1850         (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
1851         (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
1852         (WebCore::WebSocketExtensionDeflateFrame::processResponse):
1853         (WebCore::DeflateResultHolder::DeflateResultHolder):
1854         (WebCore::DeflateResultHolder::~DeflateResultHolder):
1855         (WebCore::DeflateResultHolder::fail):
1856         (WebCore::InflateResultHolder::InflateResultHolder):
1857         (WebCore::InflateResultHolder::~InflateResultHolder):
1858         (WebCore::InflateResultHolder::fail):
1859         (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
1860         (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
1861         (WebCore::WebSocketDeflateFramer::canDeflate):
1862         (WebCore::WebSocketDeflateFramer::enableDeflate):
1863         (WebCore::WebSocketDeflateFramer::deflate):
1864         (WebCore::WebSocketDeflateFramer::resetDeflateContext):
1865         (WebCore::WebSocketDeflateFramer::inflate):
1866         (WebCore::WebSocketDeflateFramer::resetInflateContext):
1867         (WebCore::WebSocketDeflateFramer::didFail):
1868         * websockets/WebSocketDeflateFramer.h: Added.
1869         (WebCore):
1870         (DeflateResultHolder):
1871         (WebCore::DeflateResultHolder::succeeded):
1872         (WebCore::DeflateResultHolder::failureReason):
1873         (InflateResultHolder):
1874         (WebCore::InflateResultHolder::succeeded):
1875         (WebCore::InflateResultHolder::failureReason):
1876         (WebSocketDeflateFramer):
1877         (WebCore::WebSocketDeflateFramer::enabled):
1878
1879 2012-02-22  Yuta Kitamura  <yutak@chromium.org>
1880
1881         Unreviewed, rolling out r108453.
1882         http://trac.webkit.org/changeset/108453
1883         https://bugs.webkit.org/show_bug.cgi?id=78549
1884
1885         Broke Chromium's webkit_unit_tests.
1886
1887         * WebCore.gypi:
1888         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
1889         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.
1890
1891 2012-02-22  Zoltan Herczeg  <zherczeg@webkit.org>
1892
1893         [Qt] clipToImageBuffer assertion fix in debug mode on Qt.
1894
1895         Rubber stamped by Csaba Osztrogonác.
1896
1897         * platform/graphics/qt/GraphicsContextQt.cpp:
1898         (WebCore::GraphicsContext::restorePlatformState):
1899
1900 2012-02-22  Adam Barth  <abarth@webkit.org>
1901
1902         [GTK] fast/frames/frame-dead-region.html crash
1903         https://bugs.webkit.org/show_bug.cgi?id=79205
1904
1905         Unreviewed.
1906
1907         Apparently we're not supposed to call willDetachPage from
1908         CachedFrame::destroy.  This call got added in
1909         http://trac.webkit.org/changeset/108428, but it seems to cause a crash.
1910
1911         * loader/FrameLoader.cpp:
1912         (WebCore::FrameLoader::closeAndRemoveChild):
1913         (WebCore::FrameLoader::detachFromParent):
1914         * page/Frame.h:
1915         (WebCore::Frame::detachFromPage):
1916         * page/Page.cpp:
1917         (WebCore::Page::~Page):
1918
1919 2012-02-22  Adam Barth  <abarth@webkit.org>
1920
1921         Move Geolocation code into Modules/geolocation
1922         https://bugs.webkit.org/show_bug.cgi?id=79204
1923
1924         Reviewed by Hajime Morita.
1925
1926         There are still some dangling references into the Geolocation module,
1927         which I will clean up in a followup patch.
1928
1929         * CMakeLists.txt:
1930         * DerivedSources.make:
1931         * DerivedSources.pri:
1932         * GNUmakefile.list.am:
1933         * Modules/geolocation/Geolocation.cpp: Copied from Source/WebCore/page/Geolocation.cpp.
1934         * Modules/geolocation/Geolocation.h: Copied from Source/WebCore/page/Geolocation.h.
1935         * Modules/geolocation/Geolocation.idl: Copied from Source/WebCore/page/Geolocation.idl.
1936         * Modules/geolocation/GeolocationController.cpp: Copied from Source/WebCore/page/GeolocationController.cpp.
1937         * Modules/geolocation/GeolocationController.h: Copied from Source/WebCore/page/GeolocationController.h.
1938         * Modules/geolocation/GeolocationError.h: Copied from Source/WebCore/page/GeolocationError.h.
1939         * Modules/geolocation/GeolocationPosition.h: Copied from Source/WebCore/page/GeolocationPosition.h.
1940         * Modules/geolocation/Geoposition.h: Copied from Source/WebCore/page/Geoposition.h.
1941         * Modules/geolocation/Geoposition.idl: Copied from Source/WebCore/page/Geoposition.idl.
1942         * Modules/geolocation/PositionCallback.h: Copied from Source/WebCore/page/PositionCallback.h.
1943         * Modules/geolocation/PositionCallback.idl: Copied from Source/WebCore/page/PositionCallback.idl.
1944         * Modules/geolocation/PositionError.h: Copied from Source/WebCore/page/PositionError.h.
1945         * Modules/geolocation/PositionError.idl: Copied from Source/WebCore/page/PositionError.idl.
1946         * Modules/geolocation/PositionErrorCallback.h: Copied from Source/WebCore/page/PositionErrorCallback.h.
1947         * Modules/geolocation/PositionErrorCallback.idl: Copied from Source/WebCore/page/PositionErrorCallback.idl.
1948         * Modules/geolocation/PositionOptions.h: Copied from Source/WebCore/page/PositionOptions.h.
1949         * Target.pri:
1950         * WebCore.gypi:
1951         * WebCore.vcproj/WebCore.vcproj:
1952         * WebCore.xcodeproj/project.pbxproj:
1953         * page/Geolocation.cpp: Removed.
1954         * page/Geolocation.h: Removed.
1955         * page/Geolocation.idl: Removed.
1956         * page/GeolocationController.cpp: Removed.
1957         * page/GeolocationController.h: Removed.
1958         * page/GeolocationError.h: Removed.
1959         * page/GeolocationPosition.h: Removed.
1960         * page/Geoposition.h: Removed.
1961         * page/Geoposition.idl: Removed.
1962         * page/PositionCallback.h: Removed.
1963         * page/PositionCallback.idl: Removed.
1964         * page/PositionError.h: Removed.
1965         * page/PositionError.idl: Removed.
1966         * page/PositionErrorCallback.h: Removed.
1967         * page/PositionErrorCallback.idl: Removed.
1968         * page/PositionOptions.h: Removed.
1969
1970 2012-02-22  Frederik Gladhorn  <frederik.gladhorn@nokia.com>
1971
1972         [gtk] Accessibility: use find funtion in vector instead of for.
1973         https://bugs.webkit.org/show_bug.cgi?id=77878
1974
1975         Reviewed by Hajime Morita.
1976
1977         Minor cleanup, use the find function from vector.
1978
1979         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1980         (webkitAccessibleGetIndexInParent):
1981
1982 2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
1983
1984         Remove the remaining uses of CSSStyleDeclaration in Editor
1985         https://bugs.webkit.org/show_bug.cgi?id=78939
1986
1987         Reviewed by Enrica Casucci.
1988
1989         Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
1990         applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
1991         to StylePropertySet.
1992
1993         * WebCore.exp.in:
1994         * WebCore.xcodeproj/project.pbxproj:
1995         * editing/Editor.cpp:
1996         (WebCore::Editor::applyStyle):
1997         (WebCore::Editor::shouldApplyStyle):
1998         (WebCore::Editor::applyParagraphStyle):
1999         (WebCore::Editor::applyStyleToSelection):
2000         (WebCore::Editor::applyParagraphStyleToSelection):
2001         (WebCore::Editor::setBaseWritingDirection):
2002         (WebCore::Editor::computeAndSetTypingStyle):
2003         * editing/Editor.h:
2004         (WebCore):
2005         (Editor):
2006         * editing/EditorCommand.cpp:
2007         (WebCore::applyCommandToFrame):
2008         (WebCore::executeApplyParagraphStyle):
2009         (WebCore::executeMakeTextWritingDirectionLeftToRight):
2010         (WebCore::executeMakeTextWritingDirectionNatural):
2011         (WebCore::executeMakeTextWritingDirectionRightToLeft):
2012         * loader/EmptyClients.h:
2013         (WebCore::EmptyEditorClient::shouldApplyStyle):
2014         * page/DragController.cpp:
2015         (WebCore::DragController::concludeEditDrag):
2016         * page/EditorClient.h:
2017         (WebCore):
2018         (EditorClient):
2019
2020 2012-02-22  Dana Jansens  <danakj@chromium.org>
2021
2022         [chromium] Cull quads outside of the scissoring damage rect
2023         https://bugs.webkit.org/show_bug.cgi?id=79181
2024
2025         Reviewed by James Robinson.
2026
2027         Quads outside of the partial swap cause us to execute GL operations
2028         that actually use a fair amount of CPU time (enough to affect power
2029         usage). Here we cull quads by only keeping their intersection
2030         with the damage rect used for partial swap.
2031
2032         Unit test: CCQuadCuller.cpp
2033
2034         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2035         (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
2036         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2037         (WebCore::CCQuadCuller::cullOccludedQuads):
2038         * platform/graphics/chromium/cc/CCQuadCuller.h:
2039         (CCQuadCuller):
2040         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2041         (WebCore::CCRenderPass::optimizeQuads):
2042         * platform/graphics/chromium/cc/CCRenderPass.h:
2043         (CCRenderPass):
2044
2045 2012-02-21  Dana Jansens  <danakj@chromium.org>
2046
2047         [Chromium] New CCOcclusionTracker class with tests
2048         https://bugs.webkit.org/show_bug.cgi?id=78549
2049
2050         Reviewed by James Robinson.
2051
2052         Adds a CCOcclusionTrackerBase template class that is able to track occlusion
2053         of layers while traversing the layer tree from front-to-back, with typedefed
2054         versions for the main and impl threads.
2055
2056         At each step of the front-to-back traversal, the class should be notified of
2057         changes to the current render target, and when done working with a layer, the
2058         layer is added the tracked occlusion.
2059
2060         The class provides tests for checking if a rect in content space
2061         for a layer/surface is occluded by others in front of it.
2062
2063         Unit tests: CCOcclusionTrackerTest.cpp
2064
2065         * WebCore.gypi:
2066         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
2067         (WebCore):
2068         (WebCore::::enterTargetRenderSurface):
2069         (WebCore::::finishedTargetRenderSurface):
2070         (WebCore::transformSurfaceOpaqueRegion):
2071         (WebCore::::leaveToTargetRenderSurface):
2072         (WebCore::contentToScreenSpaceTransform):
2073         (WebCore::contentToTargetSurfaceTransform):
2074         (WebCore::computeOcclusionBehindLayer):
2075         (WebCore::::markOccludedBehindLayer):
2076         (WebCore::testContentRectOccluded):
2077         (WebCore::::occluded):
2078         (WebCore::::surfaceOccluded):
2079         (WebCore::rectSubtractRegion):
2080         (WebCore::computeUnoccludedContentRect):
2081         (WebCore::::unoccludedContentRect):
2082         (WebCore::::surfaceUnoccludedContentRect):
2083         (WebCore::::currentOcclusionInScreenSpace):
2084         (WebCore::::currentOcclusionInTargetSurface):
2085         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
2086         (WebCore):
2087         (CCOcclusionTrackerBase):
2088         (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
2089         (StackObject):
2090
2091 2012-02-21  Andreas Kling  <awesomekling@apple.com>
2092
2093         Cache <font face> family lists in CSSValuePool.
2094         <http://webkit.org/b/79195>
2095
2096         Reviewed by Antti Koivisto.
2097
2098         HTMLFontElements with "face" attributes are very common in legacy web content.
2099         Add a String->CSSValue cache for these in CSSValuePool and use it to avoid
2100         reparsing and recreating duplicate font face values.
2101
2102         This knocks 20ms (~1.5%) worth of samples off of the Moz page cycler on my system.
2103
2104         * css/CSSParser.cpp:
2105         (WebCore::CSSParser::parseFontFaceValue):
2106         * css/CSSParser.h:
2107         * css/CSSValuePool.cpp:
2108         (WebCore::CSSValuePool::createFontFaceValue):
2109         * css/CSSValuePool.h:
2110         * html/HTMLFontElement.cpp:
2111         (WebCore::HTMLFontElement::collectStyleForAttribute):
2112
2113 2012-02-21  Adam Barth  <abarth@webkit.org>
2114
2115         Separate the implementation of registerProtocolHandler from Navigator.cpp
2116         https://bugs.webkit.org/show_bug.cgi?id=78945
2117
2118         Reviewed by Eric Seidel.
2119
2120         The implementation of registerProtocolHandler needlessly complicates
2121         the implementation of Navigator.cpp.  In principle,
2122         registerProtocolHandler (and possibly registerContentHandler, when we
2123         implement that feature) could be its own module, but that seems like
2124         overkill for one or two files.
2125
2126         * CMakeLists.txt:
2127         * GNUmakefile.list.am:
2128         * Target.pri:
2129         * WebCore.gypi:
2130         * WebCore.vcproj/WebCore.vcproj:
2131         * WebCore.xcodeproj/project.pbxproj:
2132         * page/Navigator.cpp:
2133         (WebCore):
2134         * page/Navigator.h:
2135         (Navigator):
2136         * page/Navigator.idl:
2137
2138 2012-02-21  MORITA Hajime  <morrita@google.com>
2139
2140         HasIDFlag and HasClassFlag can be removed.
2141         https://bugs.webkit.org/show_bug.cgi?id=77861
2142
2143         Reviewed by Andreas Kling.
2144
2145         Replaced HasIDFlag and HasClassFlag with a check against
2146         ElementAttributeData. It looks these flags (originally bitfields)
2147         were legacy of ancient era, where we didn't cache @id and @class
2148         values and needed a hash lookup for each check.
2149
2150         No new tests. No behavioral change.
2151
2152         * dom/Element.cpp:
2153         (WebCore::Element::idAttributeChanged):
2154         * dom/Element.h:
2155         (WebCore::Element::hasID):
2156         (WebCore):
2157         (WebCore::Element::hasClass):
2158         (WebCore::Node::hasID):
2159         (WebCore::Node::hasClass):
2160         * dom/ElementAttributeData.h:
2161         (WebCore::ElementAttributeData::hasID):
2162         (WebCore::ElementAttributeData::hasClass):
2163         (ElementAttributeData):
2164         * dom/Node.h:
2165         (Node):
2166         (WebCore::nodeStyleChangeShift):
2167         * dom/StyledElement.cpp:
2168         (WebCore::StyledElement::classAttributeChanged):
2169
2170 2012-02-21  Matthew Delaney  <mdelaney@apple.com>
2171
2172         2D Canvas setTransform makes unnecessary matrix mults
2173         https://bugs.webkit.org/show_bug.cgi?id=79190
2174
2175         Reviewed by Dan Bernstein.
2176
2177         No new tests - plenty of current tests using setTransform.
2178
2179         * html/canvas/CanvasRenderingContext2D.cpp:
2180         (WebCore::CanvasRenderingContext2D::setTransform):
2181
2182 2012-02-21  MORITA Hajime <morrita@google.com>
2183
2184         INPUT_SPEECH should be implemented as a PageSupplement.
2185         https://bugs.webkit.org/show_bug.cgi?id=79051
2186
2187         Turned SpeechInput to a PageSupplement.
2188
2189         Reviewed by Adam Barth.
2190
2191         No new tests. No behavior change.
2192
2193         * html/shadow/TextControlInnerElements.cpp:
2194         (WebCore::InputFieldSpeechButtonElement::speechInput):
2195         (WebCore::InputFieldSpeechButtonElement::attach):
2196         * page/Page.cpp:
2197         (WebCore::Page::Page):
2198         (WebCore::Page::PageClients::PageClients):
2199         * page/Page.h:
2200         (WebCore):
2201         (PageClients):
2202         (Page):
2203         * page/SpeechInput.cpp:
2204         (WebCore::SpeechInput::supplementName):
2205         (WebCore):
2206         (WebCore::provideSpeechInputTo):
2207         * page/SpeechInput.h:
2208         (SpeechInput):
2209         (WebCore::SpeechInput::from):
2210         * page/SpeechInputClient.h:
2211         (WebCore):
2212
2213 2012-02-21  Alexandre Elias  <aelias@google.com>
2214
2215         [chromium] Add three small zoom gesture features
2216         https://bugs.webkit.org/show_bug.cgi?id=74216
2217
2218         Reviewed by James Robinson.
2219
2220         1. Support panning around with two fingers.
2221         2. When double-tap zooming, issue the commit at final/scroll scale as
2222         early as possible.
2223         3. When pinch zooming out, issue a commit at minimum scale to avoid
2224         showing checkerboard.
2225
2226         Added test for panning to CCLayerTreeHostImplTest::pinchGesture.
2227         (The other features are heuristics whose exact behavior we don't need
2228         to lock in with a test.)
2229
2230         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2231         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
2232         (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
2233         (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
2234         (WebCore::CCLayerTreeHostImpl::computeDoubleTapZoomDeltas):
2235         (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
2236         (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
2237         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2238         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2239
2240 2012-02-21  Filip Pizlo  <fpizlo@apple.com>
2241
2242         JSC should be a triple-tier VM
2243         https://bugs.webkit.org/show_bug.cgi?id=75812
2244         <rdar://problem/10079694>
2245
2246         Reviewed by Gavin Barraclough.
2247         
2248         No new tests, because there is no change in behavior.
2249
2250         * CMakeLists.txt:
2251
2252 2012-02-21  Kentaro Hara  <haraken@chromium.org>
2253
2254         NavigatorMediaStream.idl defines an interface for NavigatorGamepad
2255         https://bugs.webkit.org/show_bug.cgi?id=79152
2256
2257         Reviewed by Adam Barth.
2258
2259         Fixed a typo: NavigatorGamepad => NavigatorMediaStream
2260
2261         This typo fix just changes the name of generated files:
2262
2263         - V8NavigatorGamepad.h => V8NavigatorMediaStream.h
2264         - V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp
2265
2266         The reason why the typo has not caused any serious build issues is that
2267         the generate files for supplemental interfaces are "empty" and not important.
2268         They just exist to control makefile dependencies.
2269
2270         No tests. No change in behavior.
2271
2272         * mediastream/NavigatorMediaStream.idl:
2273
2274 2012-02-21  Daniel Sievers  <sievers@chromium.org>
2275
2276         [Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
2277         https://bugs.webkit.org/show_bug.cgi?id=76017
2278
2279         Reviewed by James Robinson.
2280
2281         * platform/graphics/chromium/LayerRendererChromium.cpp:
2282         (WebCore::LayerRendererChromium::drawSolidColorQuad):
2283
2284 2012-02-21  Max Vujovic  <mvujovic@adobe.com>
2285
2286         getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values
2287         https://bugs.webkit.org/show_bug.cgi?id=78631
2288
2289         Reviewed by Eric Seidel.
2290
2291         SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS
2292         borders and paddings, causing the CTM calculation to be off.
2293
2294         Test: svg/dom/SVGLocatable-getCTM-svg-root.html
2295
2296         * svg/SVGSVGElement.cpp:
2297         (WebCore::SVGSVGElement::currentViewportSize):
2298
2299             SVGSVGElement::currentViewportSize now uses the contentBoxRect instead of the frameRect.
2300             The contentBoxRect corresponds to the SVG viewport and does not include borders and
2301             paddings.
2302
2303 2012-02-21  Robin Cao  <robin.cao@torchmobile.com.cn>
2304
2305         [BlackBerry] Upstream Icon class in platform/graphics/blackberry
2306         https://bugs.webkit.org/show_bug.cgi?id=79088
2307
2308         Reviewed by Antonio Gomes.
2309
2310         Initial upstreaming, no new tests.
2311
2312         * platform/graphics/blackberry/IconBlackBerry.cpp: Added.
2313         (WebCore):
2314         (WebCore::Icon::~Icon):
2315         (WebCore::Icon::paint):
2316         (WebCore::Icon::createIconForFiles):
2317
2318 2012-02-21  Kenichi Ishibashi  <bashi@chromium.org>
2319
2320         Rename "reserved1" flag of WebSocketFrame to compress
2321         https://bugs.webkit.org/show_bug.cgi?id=79187
2322
2323         WebSocket deflate-frame extension draft specification defines COMP bit.
2324         http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-05#page-11
2325
2326         Reviewed by Kent Tamura.
2327
2328         No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change.
2329
2330         * websockets/WebSocketChannel.cpp:
2331         (WebCore):
2332         (WebCore::WebSocketChannel::parseFrame): "reserved1" renamed "compress".
2333         (WebCore::WebSocketChannel::processFrame): Removed reserved1 flag check.
2334         (WebCore::makeFrameData):
2335         (WebCore::WebSocketChannel::sendFrame):
2336         * websockets/WebSocketFrame.h: "reserved1" flag renamed "compress".
2337         (WebCore::WebSocketFrame::WebSocketFrame):
2338         (WebSocketFrame):
2339
2340 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
2341
2342         [Texmap] Move all TextureMapper related files to graphics/texmap
2343         https://bugs.webkit.org/show_bug.cgi?id=79141
2344
2345         Reviewed by Martin Robinson.
2346
2347         Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap.
2348         No new tests. 
2349
2350         * GNUmakefile.list.am:
2351         * Target.pri:
2352         * WebCore.gypi:
2353         * platform/graphics/qt/GraphicsContext3DQt.cpp
2354         * platform/graphics/opengl/TextureMapperGL.cpp: Removed.
2355         * platform/graphics/opengl/TextureMapperGL.h: Removed.
2356         * platform/graphics/opengl/TextureMapperShaderManager.cpp: Removed.
2357         * platform/graphics/opengl/TextureMapperShaderManager.h: Removed.
2358         * platform/graphics/texmap/TextureMapperGL.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp.
2359         * platform/graphics/texmap/TextureMapperGL.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.h.
2360         * platform/graphics/texmap/TextureMapperShaderManager.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.cpp.
2361         * platform/graphics/texmap/TextureMapperShaderManager.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.h.
2362
2363 2012-02-20  MORITA Hajime  <morrita@google.com>
2364
2365         MEDIA_STREAM should be implemented as a PageSupplement.
2366         https://bugs.webkit.org/show_bug.cgi?id=79050
2367
2368         Reviewed by Adam Barth.
2369
2370         Added UserMediaController which implements PageSupplement. This
2371         controller mediates WebCore-to-client communication and lifecycle
2372         management. Then pushed UserMediaController out as a
2373         PageSupplement module.
2374
2375         No new tests. No behavior change.
2376
2377         * WebCore.gypi:
2378         * GNUmakefile.list.am:
2379         * mediastream/NavigatorMediaStream.cpp:
2380         (WebCore::NavigatorMediaStream::webkitGetUserMedia):
2381         * mediastream/UserMediaClient.h:
2382         (WebCore):
2383         * mediastream/UserMediaController.cpp: Added.
2384         (WebCore):
2385         (WebCore::UserMediaController::supplementName):
2386         (WebCore::UserMediaController::UserMediaController):
2387         (WebCore::UserMediaController::~UserMediaController):
2388         (WebCore::UserMediaController::create):
2389         (WebCore::provideUserMediaTo):
2390         * mediastream/UserMediaController.h: Added.
2391         (WebCore):
2392         (UserMediaController):
2393         (WebCore::UserMediaController::client):
2394         (WebCore::UserMediaController::from):
2395         (WebCore::UserMediaController::requestUserMedia):
2396         (WebCore::UserMediaController::cancelUserMediaRequest):
2397         * mediastream/UserMediaRequest.cpp:
2398         (WebCore::UserMediaRequest::create):
2399         (WebCore::UserMediaRequest::UserMediaRequest):
2400         (WebCore::UserMediaRequest::didCompleteQuery):
2401         (WebCore::UserMediaRequest::contextDestroyed):
2402         * mediastream/UserMediaRequest.h:
2403         (WebCore):
2404         (UserMediaRequest):
2405         * page/Page.cpp:
2406         (WebCore::Page::Page):
2407         (WebCore::Page::~Page):
2408         (WebCore::Page::PageClients::PageClients):
2409         * page/Page.h:
2410         (WebCore):
2411         (PageClients):
2412         (Page):
2413
2414 2012-02-21  James Robinson  <jamesr@chromium.org>
2415
2416         Node::isContentEditable should only update styles, not layout
2417         https://bugs.webkit.org/show_bug.cgi?id=78637
2418
2419         Reviewed by Ryosuke Niwa.
2420
2421         isContentEditable depends on knowing the node's current computed style, so it has to update styles if they are
2422         out of date.  It does not depend on knowing any layout-derived properties, however, so updating layout is just a
2423         waste of time.
2424
2425         Behavior is covered by existing layout tests, primarily in editing/
2426
2427         * dom/Node.cpp:
2428         (WebCore::Node::isContentEditable):
2429         (WebCore::Node::isContentRichlyEditable):
2430
2431 2012-02-21  James Robinson  <jamesr@chromium.org>
2432
2433         Partially revert r108418 - move allowEventDispatch() call back to where it used to be.
2434
2435         Rubber-stamped by Ryosuke Niwa.
2436
2437         Tested by fast/text/find-layout-crash.html
2438
2439         * dom/ContainerNode.cpp:
2440         (WebCore::ContainerNode::removeChildren):
2441
2442 2012-02-21  Anders Carlsson  <andersca@apple.com>
2443
2444         Background jitters on pages with background-attachment: fixed
2445         https://bugs.webkit.org/show_bug.cgi?id=79182
2446
2447         Reviewed by Dan Bernstein.
2448
2449         Make sure to update the main frame scroll position before updating the scrolling layer.
2450         This also fixes a (purely theoretical) bug where we wouldn't be updating the main frame
2451         position if the main frame didn't have a scroll layer.
2452
2453         * page/scrolling/ScrollingCoordinator.cpp:
2454         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
2455
2456 2012-02-21  Dana Jansens  <danakj@chromium.org>
2457
2458         Early-out in Region::unite() for adding an empty region.
2459         https://bugs.webkit.org/show_bug.cgi?id=79174
2460
2461         Reviewed by Anders Carlsson.
2462
2463         * platform/graphics/Region.cpp:
2464         (WebCore::Region::unite):
2465
2466 2012-02-21  Dana Jansens  <danakj@chromium.org>
2467
2468         [chromium] Painting a layer clears opaque rect in untouched tiles
2469         https://bugs.webkit.org/show_bug.cgi?id=79157
2470
2471         Reviewed by James Robinson.
2472
2473         When painting a tiled layer, we would throw away the saved opaque rect
2474         for any tiles that were not part of the paint. So now we check
2475         if we are able to save the existing saved opaque rect in a more
2476         proper way:
2477         1. If any pixels of the saved rect are painted non-opaque, we replace
2478         the saved rect.
2479         2. If an opaque rect is drawn outside of the saved rect, we replace
2480         the saved rect.
2481
2482         Unit test: TiledLayerChromiumTest.cpp
2483
2484         * platform/graphics/chromium/TiledLayerChromium.cpp:
2485         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2486         (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
2487
2488 2012-02-21  Raymond Toy  <rtoy@google.com>
2489
2490         Small typo in AudioPannerNode.cpp
2491         https://bugs.webkit.org/show_bug.cgi?id=75890
2492
2493         Change to check elevation as intended instead of azimuth.
2494         
2495         Reviewed by Chris Rogers.
2496
2497         No new tests for correction of typo.
2498
2499         * webaudio/AudioPannerNode.cpp:
2500         (WebCore::AudioPannerNode::getAzimuthElevation):
2501
2502 2012-02-21  Adam Barth  <abarth@webkit.org>
2503
2504         Frame and Navigator shouldn't need to worry about Geolocation
2505         https://bugs.webkit.org/show_bug.cgi?id=78860
2506
2507         Reviewed by Eric Seidel.
2508
2509         This patch removes some Geolocation-specific code from Frame and
2510         Navigator in favor of our new supplemental module mechanism.  We're
2511         still refining the module system, but we seem to be converging on a
2512         simple Observer/Supplement design.
2513
2514         In a future patch, I'll move the remaining Geolocation-related files in
2515         WebCore into Modules/geolocation.  This patch appears to be the first
2516         patch that introduces a module used by all the various build systems,
2517         which is why there's a bit more build system overhead than usual.
2518
2519         * Modules/geolocation: Added.
2520         * Modules/geolocation/NavigatorGeolocation.cpp: Added.
2521         (WebCore):
2522         (WebCore::NavigatorGeolocation::NavigatorGeolocation):
2523         (WebCore::NavigatorGeolocation::~NavigatorGeolocation):
2524         (WebCore::NavigatorGeolocation::pageDestroyed):
2525         (WebCore::NavigatorGeolocation::from):
2526         (WebCore::NavigatorGeolocation::geolocation):
2527         * Modules/geolocation/NavigatorGeolocation.h: Added.
2528         (WebCore):
2529         (NavigatorGeolocation):
2530         * Modules/geolocation/NavigatorGeolocation.idl: Added.
2531             - I've temporarily disabled this API for GObject because it generates
2532               a strange compile error.  Once I land this patch, I'll spend some
2533               more time fixing the compile error.
2534         * page/DOMWindow.cpp:
2535         (WebCore):
2536         * page/DOMWindow.h:
2537         (DOMWindow):
2538         * page/Frame.cpp:
2539         (WebCore::Frame::pageDestroyed):
2540         (WebCore::Frame::transferChildFrameToNewDocument):
2541         * page/FrameDestructionObserver.cpp:
2542         (WebCore::FrameDestructionObserver::pageDestroyed):
2543         (WebCore):
2544         * page/FrameDestructionObserver.h:
2545         (FrameDestructionObserver):
2546         * page/Navigator.cpp:
2547         (WebCore):
2548         * page/Navigator.h:
2549         (WebCore):
2550         (Navigator):
2551         * page/Navigator.idl:
2552
2553 2012-02-21  Shawn Singh  <shawnsingh@chromium.org>
2554
2555         [chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic
2556         https://bugs.webkit.org/show_bug.cgi?id=78936
2557
2558         Reviewed by James Robinson.
2559
2560         No change in behavior, the code moved around already covered by existing tests.
2561
2562         In calculateDrawTransformsAndVisibility(), there are two separate
2563         if-else statements where setTargetRenderSurface logic is
2564         performed, and this makes the code less readable and more error
2565         prone. This patch merges the logic, removing the redundant if-else
2566         statements.
2567
2568         This code also merges one other set of if-statements that are
2569         equivalent, if (layer->parent()) and if (layer!=rootLayer).
2570
2571         * platform/graphics/chromium/LayerChromium.cpp:
2572         (WebCore::LayerChromium::createRenderSurface):
2573         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2574         (WebCore::CCLayerImpl::createRenderSurface):
2575         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2576         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2577
2578 2012-02-21  Kentaro Hara  <haraken@chromium.org>
2579
2580         Remove FIXME from resolve-supplemental.pl
2581         https://bugs.webkit.org/show_bug.cgi?id=79160
2582
2583         Reviewed by Adam Barth.
2584
2585         The IDL attribute checker has been enabled in all build systems.
2586         This patch removes FIXME in resolve-supplemental.pl.
2587         Also, this patch improves a comment in IDLAttributes.txt.
2588
2589         No tests. No change in behavior.
2590
2591         * bindings/scripts/IDLAttributes.txt:
2592         * bindings/scripts/resolve-supplemental.pl:
2593
2594 2012-02-21  Emil A Eklund  <eae@chromium.org>
2595
2596         Add FractionalLayoutRect for sub-pixel layout
2597         https://bugs.webkit.org/show_bug.cgi?id=78924
2598
2599         Reviewed by Eric Seidel.
2600
2601         Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint
2602         and FractionalLayoutSize internally.
2603
2604         Also add conversions to int/float versions of same.
2605
2606         No new tests.
2607
2608         * GNUmakefile.list.am:
2609         * WebCore.vcproj/WebCore.vcproj:
2610         * WebCore.xcodeproj/project.pbxproj:
2611         * platform/graphics/FloatRect.cpp:
2612         (WebCore::FloatRect::FloatRect):
2613         (WebCore):
2614         * platform/graphics/FloatRect.h:
2615         (WebCore):
2616         (FloatRect):
2617         * platform/graphics/FractionalLayoutRect.cpp: Added.
2618         (WebCore):
2619         (WebCore::FractionalLayoutRect::FractionalLayoutRect):
2620         (WebCore::FractionalLayoutRect::intersects):
2621         (WebCore::FractionalLayoutRect::contains):
2622         (WebCore::FractionalLayoutRect::intersect):
2623         (WebCore::FractionalLayoutRect::unite):
2624         (WebCore::FractionalLayoutRect::uniteIfNonZero):
2625         (WebCore::FractionalLayoutRect::scale):
2626         (WebCore::unionRect):
2627         (WebCore::enclosingIntRect):
2628         (WebCore::enclosingFractionalLayoutRect):
2629         (WebCore::pixelSnappedIntRect):
2630         * platform/graphics/FractionalLayoutRect.h: Added.
2631         (WebCore):
2632         (FractionalLayoutRect):
2633         (WebCore::FractionalLayoutRect::FractionalLayoutRect):
2634         (WebCore::FractionalLayoutRect::location):
2635         (WebCore::FractionalLayoutRect::size):
2636         (WebCore::FractionalLayoutRect::setLocation):
2637         (WebCore::FractionalLayoutRect::setSize):
2638         (WebCore::FractionalLayoutRect::x):
2639         (WebCore::FractionalLayoutRect::y):
2640         (WebCore::FractionalLayoutRect::maxX):
2641         (WebCore::FractionalLayoutRect::maxY):
2642         (WebCore::FractionalLayoutRect::width):
2643         (WebCore::FractionalLayoutRect::height):
2644         (WebCore::FractionalLayoutRect::setX):
2645         (WebCore::FractionalLayoutRect::setY):
2646         (WebCore::FractionalLayoutRect::setWidth):
2647         (WebCore::FractionalLayoutRect::setHeight):
2648         (WebCore::FractionalLayoutRect::isEmpty):
2649         (WebCore::FractionalLayoutRect::center):
2650         (WebCore::FractionalLayoutRect::move):
2651         (WebCore::FractionalLayoutRect::moveBy):
2652         (WebCore::FractionalLayoutRect::expand):
2653         (WebCore::FractionalLayoutRect::contract):
2654         (WebCore::FractionalLayoutRect::shiftXEdgeTo):
2655         (WebCore::FractionalLayoutRect::shiftMaxXEdgeTo):
2656         (WebCore::FractionalLayoutRect::shiftYEdgeTo):
2657         (WebCore::FractionalLayoutRect::shiftMaxYEdgeTo):
2658         (WebCore::FractionalLayoutRect::minXMinYCorner):
2659         (WebCore::FractionalLayoutRect::maxXMinYCorner):
2660         (WebCore::FractionalLayoutRect::minXMaxYCorner):
2661         (WebCore::FractionalLayoutRect::maxXMaxYCorner):
2662         (WebCore::FractionalLayoutRect::contains):
2663         (WebCore::FractionalLayoutRect::inflateX):
2664         (WebCore::FractionalLayoutRect::inflateY):
2665         (WebCore::FractionalLayoutRect::inflate):
2666         (WebCore::FractionalLayoutRect::transposedRect):
2667         (WebCore::FractionalLayoutRect::infiniteRect):
2668         (WebCore::intersection):
2669         (WebCore::unionRect):
2670         (WebCore::operator==):
2671         (WebCore::operator!=):
2672         * platform/graphics/IntRect.cpp:
2673         (WebCore::IntRect::IntRect):
2674         (WebCore):
2675         * platform/graphics/IntRect.h:
2676         (WebCore):
2677         (IntRect):
2678
2679 2012-02-21  James Robinson  <jamesr@chromium.org>
2680
2681         Enable ScrollingCoordinator in chromium whenever compositing is enabled
2682         https://bugs.webkit.org/show_bug.cgi?id=79165
2683
2684         Reviewed by Adam Barth.
2685
2686         As the title says.
2687
2688         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2689         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
2690         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
2691         (WebCore::ScrollingCoordinator::setScrollLayer):
2692         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
2693         (WebCore::ScrollingCoordinator::setScrollParameters):
2694         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
2695         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2696             Remove ASSERT_NOT_REACHED()ed from these functions, they are now expected to be called but do nothing.
2697         * rendering/RenderLayerBacking.cpp:
2698         (WebCore::RenderLayerBacking::RenderLayerBacking):
2699             Guard a mac-specific piece of code in #if PLATFORM(MAC). This code already has a FIXME.
2700         * rendering/RenderLayerCompositor.cpp:
2701         (WebCore::shouldCompositeOverflowControls):
2702             Make coordinatesScroll..() sufficient but not necessary for compositing overflow controls. In chromium, we
2703             want to composite overflow controls even for FrameViews that we aren't coordinating via the
2704             ScrollingCoordinator.
2705
2706 2012-02-21  Adam Klein  <adamk@chromium.org>
2707
2708         Setting innerText causes DOMSubtreeModified to be dispatched too early
2709         https://bugs.webkit.org/show_bug.cgi?id=79140
2710
2711         Reviewed by Ryosuke Niwa.
2712
2713         Followup to r108152: move children change notifications later in
2714         ContainerNode::removeChildren(), thus making sure Node::inDocument()
2715         is in the correct state when we call into script.
2716
2717         Tests: fast/dom/getElementById-consistency3.html
2718                fast/dom/getElementById-consistency4.html
2719                fast/dom/getElementById-consistency5.html
2720
2721         * dom/ContainerNode.cpp:
2722         (WebCore::ContainerNode::removeChildren):
2723
2724 2012-02-15  Ryosuke Niwa  <rniwa@webkit.org>
2725
2726         Assertion failure in TextIterator::handleTextBox
2727         https://bugs.webkit.org/show_bug.cgi?id=78530
2728
2729         Reviewed by Eric Seidel.
2730
2731         The assertion failure was caused by handleTextNodeFirstLetter's updating m_text without clearing
2732         m_sortedTextBoxesPosition. Re-structured handleTextNode so that we always reset m_sortedTextBoxesPosition
2733         when we have a first-letter.
2734
2735         Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html
2736
2737         * editing/TextIterator.cpp:
2738         (WebCore::TextIterator::handleTextNode):
2739         (WebCore::TextIterator::handleTextBox):
2740         (WebCore::TextIterator::handleTextNodeFirstLetter):
2741
2742 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
2743
2744         Unreviewed build fix.
2745
2746         No new tests.
2747
2748         * platform/graphics/opengl/TextureMapperGL.cpp:
2749
2750 2012-02-21  Adam Klein  <adamk@chromium.org>
2751
2752         ContainerNode::childrenChanged must be called immediately after removing children
2753         https://bugs.webkit.org/show_bug.cgi?id=79162
2754
2755         Reviewed by Ryosuke Niwa.
2756
2757         In r108152, a call to childrenChanged() was erroneously moved
2758         below the call to child->removedFromDocument(). This breaks, at the
2759         least, the behavior of the <title> element. This patch corrects the
2760         mistake and adds a test.
2761
2762         Test: fast/dom/title-directionality-removeChild.html
2763
2764         * dom/ContainerNode.cpp:
2765         (WebCore::ContainerNode::removeChild):
2766
2767 2012-02-21  Luke Macpherson   <macpherson@chromium.org>
2768
2769         Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty.
2770         https://bugs.webkit.org/show_bug.cgi?id=79067
2771
2772         Reviewed by Andreas Kling.
2773
2774         No new tests / refactoring only.
2775
2776         * css/CSSStyleApplyProperty.cpp:
2777         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2778         * css/CSSStyleSelector.cpp:
2779         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2780         * rendering/style/RenderStyle.h:
2781
2782 2012-02-21  Jon Lee  <jonlee@apple.com>
2783
2784         Bring notifications support to WK1 mac
2785         https://bugs.webkit.org/show_bug.cgi?id=78783
2786         <rdar://problem/10610578>
2787
2788         Reviewed by Anders Carlsson.
2789
2790         * WebCore.exp.in: Expose dispatchErrorEvent on Notification.
2791
2792 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
2793
2794         [Qt] Previous web page appears outside content rect
2795         https://bugs.webkit.org/show_bug.cgi?id=78816
2796
2797         Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
2798         not sizes.
2799
2800         Reviewed by Kenneth Rohde Christiansen.
2801
2802         No new functionality.
2803
2804         * platform/graphics/opengl/TextureMapperGL.cpp:
2805         (WebCore::scissorClip):
2806
2807 2012-02-21  Victor Carbune  <vcarbune@adobe.com>
2808
2809         Added support for pause-on-exit flag on a TextTrackCue.
2810         https://bugs.webkit.org/show_bug.cgi?id=72173
2811
2812         Reviewed by Eric Carlson.
2813
2814         Test: media/track/track-cues-pause-on-exit.html
2815
2816         * html/HTMLMediaElement.cpp:
2817         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Implemented
2818         support for pausing the video if the pause-on-exit flag is set on
2819         a cue that is currently exiting.
2820
2821 2012-02-21  Kentaro Hara  <haraken@chromium.org>
2822
2823         Enable the IDL attribute checker in all build systems
2824         https://bugs.webkit.org/show_bug.cgi?id=79090
2825
2826         Reviewed by Adam Barth.
2827
2828         We have enabled the IDL attribute checker in Chromium in r108322.
2829         This patch enables the IDL attribute checker in all other
2830         build systems.
2831
2832         No tests. I manually checked that [Custommm], [CallWith=],
2833         [CallWith=ScriptExecutionContext|Foo] cause build failures.
2834
2835         * CMakeLists.txt:
2836         * DerivedSources.make:
2837         * DerivedSources.pri:
2838         * GNUmakefile.am:
2839         * UseJSC.cmake:
2840         * UseV8.cmake:
2841         * WebCore.vcproj/WebCore.vcproj:
2842         * WebCore.xcodeproj/project.pbxproj:
2843         * bindings/scripts/IDLAttributes.txt: Added [ObjCCustomImplementation]
2844         since I forgot to add it in r108322.
2845
2846 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
2847
2848         [Texmap] Better management of shaders in TextureMapperGL
2849         https://bugs.webkit.org/show_bug.cgi?id=78674
2850  
2851         Reviewed by Noam Rosenthal.
2852  
2853         Split TextureMapperGL.cpp into two files.
2854         Get rid of the enums that we were using to identify shaders and to identify variables.
2855         Switch flip and opaque from using bool to using enums.
2856  
2857         No new tests. This is refactoring only.
2858  
2859         * GNUmakefile.list.am:
2860         * Target.pri:
2861         * WebCore.gypi:
2862         * platform/graphics/OpenGLShims.h:
2863         * platform/graphics/opengl/TextureMapperGL.cpp:
2864         (WebCore):
2865         (SharedGLData):
2866         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
2867         (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
2868         (WebCore::TextureMapperGLData::TextureMapperGLData):
2869         (TextureMapperGLData):
2870         (WebCore::TextureMapperGL::drawTexture):
2871         (WebCore::TextureMapperGL::drawTextureWithMaskAndOpacity):
2872         (WebCore::TextureMapperGL::drawTextureSimple):
2873         (WebCore::TextureMapperGL::beginClip):
2874         * platform/graphics/opengl/TextureMapperGL.h:
2875         * platform/graphics/opengl/TextureMapperShaderManager.cpp: Added.
2876         (WebCore):
2877         (WebCore::FRAGMENT_SHADER):
2878         (WebCore::TextureMapperShaderProgram::initializeProgram):
2879         (WebCore::TextureMapperShaderProgram::getUniformLocation):
2880         (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
2881         (WebCore::TextureMapperShaderProgramSimple::create):
2882         (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
2883         (WebCore::TextureMapperShaderProgramSimple::vertexShaderSource):
2884         (WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource):
2885         (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
2886         (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
2887         (WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource):
2888         (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
2889         (WebCore::TextureMapperShaderProgramClip::create):
2890         (WebCore::TextureMapperShaderProgramClip::TextureMapperShaderProgramClip):
2891         (WebCore::TextureMapperShaderProgramClip::vertexShaderSource):
2892         (WebCore::TextureMapperShaderProgramClip::fragmentShaderSource):
2893         (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
2894         (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
2895         * platform/graphics/opengl/TextureMapperShaderManager.h: Added.
2896         (WebCore):
2897         (WebCore::debugGLCommand):
2898         (TextureMapperShaderProgram):
2899         (WebCore::TextureMapperShaderProgram::id):
2900         (WebCore::TextureMapperShaderProgram::vertexAttrib):
2901         (WebCore::TextureMapperShaderProgram::shaderType):
2902         (TextureMapperShaderProgramSimple):
2903         (WebCore::TextureMapperShaderProgramSimple::matrixVariable):
2904         (WebCore::TextureMapperShaderProgramSimple::sourceMatrixVariable):
2905         (WebCore::TextureMapperShaderProgramSimple::sourceTextureVariable):
2906         (WebCore::TextureMapperShaderProgramSimple::opacityVariable):
2907         (TextureMapperShaderProgramOpacityAndMask):
2908         (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceMatrixVariable):
2909         (WebCore::TextureMapperShaderProgramOpacityAndMask::matrixVariable):
2910         (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
2911         (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceTextureVariable):
2912         (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
2913         (WebCore::TextureMapperShaderProgramOpacityAndMask::opacityVariable):
2914         (TextureMapperShaderProgramClip):
2915         (WebCore::TextureMapperShaderProgramClip::matrixVariable):
2916         (TextureMapperShaderManager):
2917         (WebCore::TextureMapperShaderManager::getShaderProgram):
2918         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2919         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2920         * platform/graphics/texmap/TextureMapper.h:
2921         (WebCore::BitmapTexture::reset):
2922         (WebCore::BitmapTexture::isOpaque):
2923         (BitmapTexture):
2924
2925 2012-02-21  Anders Carlsson  <andersca@apple.com>
2926
2927         The tile cache should keep track of the tile coverage rect
2928         https://bugs.webkit.org/show_bug.cgi?id=79149
2929         <rdar://problem/10877338>
2930
2931         Reviewed by Andreas Kling.
2932
2933         Keep track of the tile coverage rect and use it to avoid trying to iterate over non-existent tiles on large pages.
2934
2935         * platform/graphics/ca/mac/TileCache.h:
2936         (TileCache):
2937         * platform/graphics/ca/mac/TileCache.mm:
2938         (WebCore::TileCache::setNeedsDisplayInRect):
2939         (WebCore::TileCache::revalidateTiles):
2940
2941 2012-02-21  Andreas Kling  <awesomekling@apple.com>
2942
2943         Make WebKitCSSShaderValue inherit directly from CSSValue.
2944         <http://webkit.org/b/79144>
2945
2946         Reviewed by Antti Koivisto.
2947
2948         WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
2949         it for storing the shader URL. Moved that to a String member instead.
2950
2951         WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
2952         there should be no behavior change whatsoever here.
2953
2954         * css/WebKitCSSShaderValue.cpp:
2955         (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
2956         (WebCore::WebKitCSSShaderValue::cachedShader):
2957         (WebCore::WebKitCSSShaderValue::customCssText):
2958         * css/WebKitCSSShaderValue.h:
2959         (WebKitCSSShaderValue):
2960
2961 2012-02-21  James Robinson  <jamesr@chromium.org>
2962
2963         Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set.
2964
2965         * page/scrolling/ScrollingCoordinator.cpp:
2966         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2967
2968 2012-02-21  James Robinson  <jamesr@chromium.org>
2969
2970         ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
2971         https://bugs.webkit.org/show_bug.cgi?id=79126
2972
2973         Reviewed by Anders Carlsson.
2974
2975         The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all
2976         about manipulating GraphicsLayers. Adds a runtime check.
2977
2978         Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.
2979
2980         * page/FrameView.cpp:
2981         (WebCore::FrameView::addFixedObject):
2982         (WebCore::FrameView::removeFixedObject):
2983         * page/scrolling/ScrollingCoordinator.cpp:
2984         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2985         (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
2986
2987 2012-02-21  James Robinson  <jamesr@chromium.org>
2988
2989         Chromium build fix. Unreviwed but rubber-stamped by Antti.
2990
2991         * dom/Document.cpp:
2992         * editing/ReplaceSelectionCommand.cpp:
2993         * inspector/InspectorStyleSheet.h:
2994
2995 2012-02-21  Eric Carlson  <eric.carlson@apple.com>
2996
2997         Set Referrer header for media downloads
2998         https://bugs.webkit.org/show_bug.cgi?id=78614
2999
3000         Reviewed by Alexey Proskuryakov.
3001
3002         Test: http/tests/media/video-referer.html was modified to test this change.
3003
3004         * html/HTMLMediaElement.cpp:
3005         (WebCore::HTMLMediaElement::mediaPlayerReferrer): New, return the document's referer.
3006         * html/HTMLMediaElement.h:
3007
3008         * platform/graphics/MediaPlayer.cpp:
3009         (WebCore::MediaPlayer::referrer): New, return the client's mediaPlayerReferrer.
3010         * platform/graphics/MediaPlayer.h:
3011         (WebCore::MediaPlayerClient::mediaPlayerReferrer):
3012
3013         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3014         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3015         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to add
3016             a referer header.
3017
3018 2012-02-21  Antti Koivisto  <antti@apple.com>
3019
3020         Not reviewed.
3021
3022         Remove some obsolete comments, use consistent name for propertyID.
3023
3024         * css/StylePropertySet.h:
3025         (StylePropertySet):
3026
3027 2012-02-21  Antti Koivisto  <antti@apple.com>
3028
3029         Clean up StylePropertySet included headers
3030         https://bugs.webkit.org/show_bug.cgi?id=79134
3031
3032         Reviewed by Andreas Kling.
3033
3034         Remove unneccesary includes.
3035
3036         * bindings/js/JSDOMBinding.h:
3037         * css/StylePropertySet.cpp:
3038         * css/StylePropertySet.h:
3039         (WebCore):
3040         (StylePropertySet):
3041         * editing/RemoveCSSPropertyCommand.cpp:
3042
3043 2012-02-21  Lin Wei  <wei.a.lin@intel.com>
3044
3045         Fix bug from r107672.
3046         https://bugs.webkit.org/show_bug.cgi?id=78773
3047
3048         Before set MediaStreamTrack disable/enable operation,
3049         checking the status of MediaStream that contains this MediaStreamTrack.
3050         if MediaStream is finished, then skipping operation of 
3051         didSetMediaStreamTrackEnabled().
3052
3053         Reviewed by Adam Barth.
3054         * mediastream/MediaStreamTrack.cpp:
3055         (WebCore::MediaStreamTrack::setEnabled):
3056
3057 2012-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
3058
3059         Move RenderLayer::scrolledContentOffset calls to a common function
3060         https://bugs.webkit.org/show_bug.cgi?id=76971
3061
3062         Reviewed by David Hyatt.
3063
3064         Refactoring without any change in behavior.
3065
3066         This change adds a RenderBox::scrolledContentOffset function to handle all
3067         the calls that goes through the layer(). This indirection will enable us to
3068         add layer() checks without patching a lot of call sites as part of bug 75568.
3069
3070         We also moved down the concept of scroll offset down to RenderBox where it belongs!
3071
3072         * rendering/RenderLayer.h:
3073         (RenderLayer):
3074         (WebCore::RenderLayer::scrolledContentOffset):
3075         Moved scrolledContent to the private section of the class to prevent misuse.
3076
3077         * rendering/RenderBox.cpp:
3078         (WebCore::RenderBox::scrolledContentOffset):
3079         New function to add an indirection with RenderLayer.
3080
3081         * editing/visible_units.cpp:
3082         (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
3083         * rendering/LayoutState.cpp:
3084         (WebCore::LayoutState::LayoutState):
3085         * rendering/RenderBlock.cpp:
3086         (WebCore::RenderBlock::layoutBlock):
3087         (WebCore::RenderBlock::paintObject):
3088         (WebCore::RenderBlock::selectionGapRectsForRepaint):
3089         (WebCore::RenderBlock::paintSelection):
3090         (WebCore::RenderBlock::nodeAtPoint):
3091         (WebCore::RenderBlock::offsetForContents):
3092         * rendering/RenderBox.cpp:
3093         (WebCore::RenderBox::offsetFromContainer):
3094         (WebCore::RenderBox::computeRectForRepaint):
3095         * rendering/RenderBox.h:
3096         (RenderBox):
3097         * rendering/RenderBoxModelObject.cpp:
3098         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3099         * rendering/RenderInline.cpp:
3100         (WebCore::RenderInline::clippedOverflowRectForRepaint):
3101         (WebCore::RenderInline::computeRectForRepaint):
3102         (WebCore::RenderInline::offsetFromContainer):
3103         * rendering/RenderObject.cpp:
3104         (WebCore::RenderObject::computeRectForRepaint):
3105         (WebCore::RenderObject::mapLocalToContainer):
3106         (WebCore::RenderObject::mapAbsoluteToLocalPoint):
3107         (WebCore::RenderObject::offsetFromContainer):
3108         * rendering/RenderTextControlSingleLine.cpp:
3109         (WebCore::RenderTextControlInnerBlock::positionForPoint):
3110         Patched all those call sites to use the new function.
3111
3112 2012-02-21  Emil A Eklund  <eae@chromium.org>
3113
3114         Remove obsolete float comparison FIXMEs
3115         https://bugs.webkit.org/show_bug.cgi?id=79127
3116
3117         Reviewed by Eric Seidel.
3118
3119         Remove obsolete FIXME comments added back when we were planning to use
3120         floating point units for layout.
3121
3122         No new tests, no code changes.
3123
3124         * page/FrameView.cpp:
3125         (WebCore::FrameView::init):
3126         * rendering/RenderBlock.cpp:
3127         (WebCore::RenderBlock::layoutBlock):
3128         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
3129         (WebCore::RenderBlock::getClearDelta):
3130         * rendering/RenderBox.cpp:
3131         (WebCore::RenderBox::computeLogicalHeight):
3132         (WebCore::RenderBox::computeLogicalHeightUsing):
3133         (WebCore::RenderBox::computePercentageLogicalHeight):
3134         * rendering/RenderBoxModelObject.cpp:
3135         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
3136
3137 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
3138
3139         Web Inspector: it is nearly impossible to select and copy text on the Elements panel.
3140         https://bugs.webkit.org/show_bug.cgi?id=60814
3141
3142         Reviewed by Pavel Feldman.
3143
3144         * inspector/front-end/inspector.js:
3145         (WebInspector.documentClick.followLink):
3146         (WebInspector.documentClick):
3147
3148 2012-02-21  Abhishek Arya  <inferno@chromium.org>
3149
3150         Crash in RenderTableSection::nodeAtPoint.
3151         https://bugs.webkit.org/show_bug.cgi?id=78922
3152
3153         Reviewed by Julien Chaffraix.
3154
3155         Test: fast/table/table-section-node-at-point-crash.html
3156
3157         * rendering/RenderTableSection.cpp:
3158         (WebCore::RenderTableSection::nodeAtPoint): recalc cells if the
3159         m_needsCellRecalc is set. Otherwise, we will end up accessing
3160         removed table cells.
3161
3162 2012-02-21  Antti Koivisto  <antti@apple.com>
3163
3164         Move PropertySetCSSStyleDeclaration to a file of its own
3165         https://bugs.webkit.org/show_bug.cgi?id=79121
3166
3167         Rubber-stamped by Andreas Kling.
3168
3169         This makes StylePropertySet.cpp more readable.
3170
3171         * CMakeLists.txt:
3172         * GNUmakefile.list.am:
3173         * Target.pri:
3174         * WebCore.gypi:
3175         * WebCore.vcproj/WebCore.vcproj:
3176         * WebCore.xcodeproj/project.pbxproj:
3177         * css/PropertySetCSSStyleDeclaration.cpp: Copied from Source/WebCore/css/StylePropertySet.cpp.
3178         (WebCore::PropertySetCSSStyleDeclaration::ref):
3179         (WebCore::PropertySetCSSStyleDeclaration::deref):
3180         (WebCore):
3181         * css/PropertySetCSSStyleDeclaration.h: Added.
3182         (WebCore):
3183         (PropertySetCSSStyleDeclaration):
3184         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
3185         (WebCore::PropertySetCSSStyleDeclaration::parentElement):
3186         (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
3187         (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
3188         (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
3189         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
3190         (RuleCSSStyleDeclaration):
3191         (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
3192         (WebCore::RuleCSSStyleDeclaration::parentRule):
3193         (WebCore::RuleCSSStyleDeclaration::clearParentRule):
3194         (InlineCSSStyleDeclaration):
3195         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
3196         (WebCore::InlineCSSStyleDeclaration::parentElement):
3197         (WebCore::InlineCSSStyleDeclaration::clearParentElement):
3198         * css/StylePropertySet.cpp:
3199         (WebCore):
3200
3201 2012-02-21  Philippe Normand  <pnormand@igalia.com>
3202
3203         [GTK] WebAudio build is broken
3204         https://bugs.webkit.org/show_bug.cgi?id=79113
3205
3206         Reviewed by Martin Robinson.
3207
3208         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
3209         (webKitWebAudioGStreamerChannelPosition): Set a default value for
3210         the position variable.
3211         * platform/audio/gtk/AudioBusGtk.cpp: Include CString.h, needed
3212         for sharedResourcesPath().
3213
3214 2012-02-21  Andreas Kling  <awesomekling@apple.com>
3215
3216         Kill FontFamilyValue.
3217         <http://webkit.org/b/79103>
3218
3219         Reviewed by Antti Koivisto.
3220
3221         Remove FontFamilyValue and replace all usage by CSSPrimitiveValue.
3222         The class was only used to filter font family names, removing bracketed
3223         suffixes, e.g "[Xft]".
3224
3225         This was added to KHTML in 2002 to support the use of specific X11 font
3226         families inside KMail: <https://bugs.kde.org/show_bug.cgi?id=38808>
3227
3228         Test: fast/css/font-family-trailing-bracket-gunk.html
3229
3230         * CMakeLists.txt:
3231         * GNUmakefile.list.am:
3232         * Target.pri:
3233         * WebCore.gypi:
3234         * WebCore.order:
3235         * WebCore.vcproj/WebCore.vcproj:
3236         * WebCore.xcodeproj/project.pbxproj:
3237         * css/CSSFontSelector.cpp:
3238         (WebCore::CSSFontSelector::addFontFaceRule):
3239         * css/CSSParser.cpp:
3240         * css/CSSStyleSelector.cpp:
3241         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3242         * css/CSSValue.cpp:
3243         (WebCore::CSSValue::cssText):
3244         (WebCore::CSSValue::destroy):
3245         * css/CSSValue.h:
3246         * css/CSSValuePool.cpp:
3247         (WebCore::CSSValuePool::createFontFamilyValue):
3248         * css/CSSValuePool.h:
3249         (CSSValuePool):
3250         * css/FontFamilyValue.cpp: Removed.
3251         * css/FontFamilyValue.h: Removed.
3252
3253 2012-02-21  Alexis Menard  <alexis.menard@openbossa.org>
3254
3255         Little optimization for CSSParser::parseFillShorthand.
3256         https://bugs.webkit.org/show_bug.cgi?id=79042
3257
3258         Reviewed by Hajime Morita.
3259
3260         Remove one extra loop that we can combine with the following one
3261         which adds the properties to the parser's list of properties. I also
3262         removed a useless check.
3263         Instruments shows on the css-parser-yui benchmark an improvement
3264         of 13ms (from 77ms spent in the function to 64ms).
3265
3266         No new tests : refactoring, existings tests should cover.
3267
3268         * css/CSSParser.cpp:
3269         (WebCore::CSSParser::parseFillShorthand):
3270
3271 2012-02-20  David Hyatt  <hyatt@apple.com>
3272
3273         https://bugs.webkit.org/show_bug.cgi?id=79046
3274         
3275         width of overflow:hidden blocks is wrong when their margins overlap floats.
3276         
3277         Relevant discussion is here: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html
3278         
3279         This patch makes the following changes to how objects shrink when avoiding floats:
3280         (1) The containing block width used for percentage calculations is now constant. This means that
3281         an overflow:hidden block with a margin-left of 10% will no longer change what 10% means depending
3282         on the available line width. From a code perspective, containingBlockLogicalWidthForContent and
3283         containingBlockLogicalWidthForContentInRegion no longer contain any special-case code for
3284         shrinkToAvoidFloats() objects.
3285
3286         (2) Now the computation of the logical width for the shrinking object itself handles the adjustments.
3287         Two kinds of adjustments are made for both the start and end margins. Conceptually what we do is shrink
3288         the object to the available line width minus our margins, and then expand the width back out to the content edge
3289         or to the float edge as necessary. If the float fully fits in the margin, then we expand back out to the
3290         content edge. Otherwise if the float doesn't fit, then we expand only to the float edge, making sure our
3291         margin overlaps with the float. This expansion is not performed for negative margins, since our result is already
3292         correct in that case.
3293         
3294         Reviewed by Dan Bernstein.
3295
3296         Added the new tests from the thread on www-style about this issue (from Alan Gresley and George Talbot)
3297         in fast/block/float.
3298
3299         * rendering/RenderBlock.cpp:
3300         (WebCore::RenderBlock::containsFloat):
3301         * rendering/RenderBlock.h:
3302         (WebCore::RenderBlock::containsFloats):
3303         Changed to be const.
3304
3305         (WebCore::RenderBlock::endOffsetForLine):
3306         (WebCore::RenderBlock::endOffsetForContent):
3307         Added endOffsetForXXX methods to mirror their startOffset counterparts. Used by the width adjustment code.
3308
3309         * rendering/RenderBox.cpp:
3310         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
3311         New method that handles shrinking the logical width to the line width (and then re-expanding back out to the
3312         float and/or content edges as needed).
3313
3314         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
3315         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
3316         Patched to no longer do the shrinking of objects to avoid floats.
3317
3318         (WebCore::RenderBox::computeLogicalWidthInRegion):
3319         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
3320         Patched to handle calling the new shrinking code to adjust our logical width.
3321
3322         * rendering/RenderBox.h:
3323         (RenderBox):
3324         The signature of computeLogicalWithUsing changed to be region-specific and to carry along enough information
3325         to efficiently perform the shrinking.
3326
3327         * rendering/RenderTable.cpp:
3328         (WebCore::RenderTable::computeLogicalWidth):
3329         Patched to handle calling the new shrinking code to adjust our logical width.
3330
3331 2012-02-21  Sam Weinig  <sam@webkit.org>
3332
3333         Attempt to fix the Snow Leopard build.
3334
3335         * Configurations/Base.xcconfig:
3336
3337 2012-02-21  Sam Weinig  <sam@webkit.org>
3338
3339         Use libc++ when building with Clang on Mac
3340         https://bugs.webkit.org/show_bug.cgi?id=78981
3341
3342         Reviewed by Dan Bernstein.
3343
3344         * Configurations/Base.xcconfig:
3345
3346 2012-02-21  Adam Roben  <aroben@apple.com>
3347
3348         Mac build fix
3349
3350         * WebCore.xcodeproj/project.pbxproj: Mark TextTrack.h and TextTrackCue.h private so that
3351         WebKit can include them.
3352
3353 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
3354
3355         [Qt][WK2] Fix the N9 build
3356         https://bugs.webkit.org/show_bug.cgi?id=79101
3357
3358         Reviewed by Noam Rosenthal.
3359
3360         No new tests needed.
3361
3362         * platform/graphics/opengl/TextureMapperGL.cpp: Add missing include.
3363
3364 2012-02-21  Adam Roben  <aroben@apple.com>
3365
3366         Roll out r108309, r108323, and r108326
3367
3368         They broke the 32-bit Lion build.
3369
3370         Original bugs is <http://webkit.org/b/75812> <rdar://problem/10079694>.
3371
3372         * CMakeLists.txt:
3373
3374 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
3375
3376         Web Inspector: [SuggestBox] textPrompt.css disablement displays garbled suggest box
3377         https://bugs.webkit.org/show_bug.cgi?id=79107
3378
3379         Reviewed by Pavel Feldman.
3380
3381         * inspector/front-end/TextPrompt.js:
3382         (WebInspector.TextPrompt.SuggestBox):
3383         (WebInspector.TextPrompt.SuggestBox.prototype.get visible):
3384         (WebInspector.TextPrompt.SuggestBox.prototype.hide):
3385         (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
3386         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
3387         * inspector/front-end/textPrompt.css:
3388         (.suggest-box):
3389
3390 2012-02-21  Yury Semikhatsky  <yurys@chromium.org>
3391
3392         Web Inspector: timeline hangs on a page with deep chain of nested events.
3393         https://bugs.webkit.org/show_bug.cgi?id=79106
3394
3395         Use stack of states instead of recursive calls when traversing records tree to
3396         avoid stack overflow.
3397
3398         Reviewed by Pavel Feldman.
3399
3400         * inspector/front-end/TimelineOverviewPane.js:
3401         (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
3402         * inspector/front-end/TimelinePanel.js:
3403         (WebInspector.TimelinePanel.prototype._filterRecords):
3404
3405 2012-02-21  Pavel Feldman  <pfeldman@google.com>
3406
3407         Web Inspector: [crash] upon style modification after navigation
3408         https://bugs.webkit.org/show_bug.cgi?id=79108
3409
3410         Reviewed by Yury Semikhatsky.
3411
3412         * inspector/InspectorHistory.cpp:
3413         (WebCore::InspectorHistory::undo):
3414         (WebCore::InspectorHistory::redo):
3415         (WebCore::InspectorHistory::reset):
3416
3417 2012-02-21  Patrick Gansterer  <paroga@webkit.org>
3418
3419         Use WTF::cryptographicallyRandomValues in FileSystemWin.cpp
3420         https://bugs.webkit.org/show_bug.cgi?id=79089
3421
3422         Reviewed by Adam Roben.
3423
3424         Avoid loading and unloading of the crypto library during every
3425         call to openTemporaryFile() and make the code easier.
3426
3427         * platform/win/FileSystemWin.cpp:
3428         (WebCore::openTemporaryFile):
3429
3430 2012-02-21  Alexander Færøy  <alexander.faeroy@nokia.com>
3431
3432         Remove stylesheet pointer from StylePropertySet
3433         https://bugs.webkit.org/show_bug.cgi?id=79092
3434
3435         Reviewed by Csaba Osztrogonác.
3436
3437         Qt buildfix after r108345.
3438
3439         * css/CSSParser.cpp:
3440         (WebCore::parseColorValue):
3441
3442 2012-02-21  Csaba Osztrogonác  <ossy@webkit.org>
3443
3444         Remove stylesheet pointer from StylePropertySet
3445         https://bugs.webkit.org/show_bug.cgi?id=79092
3446
3447         Reviewed by Antti Koivisto.
3448
3449         Qt buildfix after r108345. We need this workaround because of buggy gcc (4.4.5), which
3450         reported a false warning: 'value$m_ptr' may be used uninitialized in this function
3451
3452         * css/CSSParser.cpp:
3453         (WebCore::parseSimpleLengthValue):
3454
3455 2012-02-21  Andreas Kling  <awesomekling@apple.com>
3456
3457         Shrink attribute style property sets after populating them.
3458         <http://webkit.org/b/78972>
3459
3460         Reviewed by Antti Koivisto.
3461
3462         Add a StylePropertySet::shrinkToFit() and call it at the end of updateStyleAttribute()
3463         to minimize the amount of wasted space.
3464
3465         * css/StylePropertySet.h:
3466         (WebCore::StylePropertySet::shrinkToFit):
3467         * dom/StyledElement.cpp:
3468         (WebCore::StyledElement::updateAttributeStyle):
3469
3470 2012-02-21  Antti Koivisto  <antti@apple.com>
3471
3472         Remove stylesheet pointer from StylePropertySet
3473         https://bugs.webkit.org/show_bug.cgi?id=79092
3474
3475         Reviewed by Andreas Kling.
3476
3477         The context should be passed as an argument for CSS parser invoking setters that actually need it.
3478         
3479         - Remove the context stylesheet pointer.
3480         - Add context stylesheet argument to setters.
3481         - Drop an unnecessary StylePropertySet constructor, pass strict parsing flag directly.
3482         - Adapt to changes by passing in the context stylesheet where needed.
3483         - Add StyledElement::applyPresentationAttributeToStyle helpers for building up the attribute style.
3484
3485         * css/CSSFontFaceRule.cpp:
3486         (WebCore::CSSFontFaceRule::addSubresourceStyleURLs):
3487         * css/CSSParser.cpp:
3488         (WebCore::parseColorValue):
3489         (WebCore::parseSimpleLengthValue):
3490         (WebCore::CSSParser::parseValue):
3491         (WebCore::CSSParser::parseDeclaration):
3492         (WebCore::CSSParser::createStyleRule):
3493         (WebCore::CSSParser::createFontFaceRule):
3494         (WebCore::CSSParser::createPageRule):
3495         (WebCore::CSSParser::createKeyframeRule):
3496         * css/CSSParser.h:
3497         (CSSParser):
3498         * css/CSSStyleRule.cpp:
3499         (WebCore::CSSStyleRule::addSubresourceStyleURLs):
3500         * css/StylePropertySet.cpp:
3501      &nb