2011-01-25 Dimitri Glazkov <dglazkov@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
2
3         Reviewed by Kent Tamura.
4
5         Reduce ref-count churn in shadowPseudoId.
6         https://bugs.webkit.org/show_bug.cgi?id=53136
7
8         Refactoring, so no new tests.
9
10         * dom/Element.h:
11         (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString&
12         * html/ValidationMessage.cpp:
13         (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto.
14         * html/shadow/SliderThumbElement.cpp:
15         (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file.
16         * html/shadow/SliderThumbElement.h: Ditto.
17         * rendering/MediaControlElements.cpp:
18         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto.
19         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto.
20         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto.
21         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto.
22         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto.
23         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto.
24         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto.
25         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto.
26         (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto.
27         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto.
28         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto.
29         * rendering/MediaControlElements.h: Ditto.
30
31 2011-01-26  Dave Hyatt  <hyatt@apple.com>
32
33         Reviewed by Dan Bernstein.
34
35         https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.
36
37         Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.
38
39         * css/html.css:
40         Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
41         elements work properly.
42
43         * rendering/InlineFlowBox.cpp:
44         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
45         Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk
46         in some cases (causing lines to all stack on top of one another).
47
48         * rendering/InlineTextBox.h:
49         (WebCore::InlineTextBox::calculateBoundaries):
50         Fix calculateBoundaries to be physical rather than logical.
51
52         * rendering/LayoutState.cpp:
53         (WebCore::LayoutState::addForcedColumnBreak):
54         * rendering/LayoutState.h:
55         Rename childY to childLogicalOffset.
56
57         * rendering/RenderBlock.cpp:
58         (WebCore::RenderBlock::layoutBlock):
59         (WebCore::RenderBlock::addOverflowFromChildren):
60         (WebCore::RenderBlock::addOverflowFromFloats):
61         (WebCore::RenderBlock::collapseMargins):
62         (WebCore::RenderBlock::estimateLogicalTopPosition):
63         (WebCore::RenderBlock::layoutBlockChild):
64         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
65         (WebCore::RenderBlock::paintColumnRules):
66         (WebCore::RenderBlock::paintColumnContents):
67         (WebCore::RenderBlock::paintFloats):
68         (WebCore::RenderBlock::selectionGaps):
69         (WebCore::RenderBlock::removeFloatingObjectsBelow):
70         (WebCore::RenderBlock::addOverhangingFloats):
71         (WebCore::RenderBlock::hitTestFloats):
72         (WebCore::RenderBlock::hitTestColumns):
73         (WebCore::RenderBlock::calcColumnWidth):
74         (WebCore::RenderBlock::desiredColumnWidth):
75         (WebCore::RenderBlock::columnRectAt):
76         (WebCore::RenderBlock::layoutColumns):
77         (WebCore::RenderBlock::adjustPointToColumnContents):
78         (WebCore::RenderBlock::adjustRectForColumns):
79         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
80         (WebCore::RenderBlock::adjustForColumns):
81         (WebCore::RenderBlock::adjustForBorderFit):
82         (WebCore::RenderBlock::nextPageLogicalTop):
83         (WebCore::RenderBlock::applyBeforeBreak):
84         (WebCore::RenderBlock::applyAfterBreak):
85         (WebCore::RenderBlock::adjustForUnsplittableChild):
86         (WebCore::RenderBlock::adjustLinePositionForPagination):
87         * rendering/RenderBlock.h:
88         (WebCore::RenderBlock::logicalRightOffsetForContent):
89         (WebCore::RenderBlock::logicalLeftOffsetForContent):
90         (WebCore::RenderBlock::leftForFloatIncludingMargin):
91         (WebCore::RenderBlock::topForFloatIncludingMargin):
92         * rendering/RenderBlockLineLayout.cpp:
93         (WebCore::RenderBlock::layoutInlineChildren):
94         (WebCore::RenderBlock::determineStartPosition):
95         Reworking of all the RenderBlock column functions to support flipping and vertical modes.
96
97         * rendering/RenderBox.cpp:
98         (WebCore::RenderBox::offsetFromContainer):
99         (WebCore::RenderBox::flipForWritingModeIncludingColumns):
100         Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts.
101
102         * rendering/RenderBox.h:
103         (WebCore::RenderBox::clientLogicalBottom):
104         Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
105         
106         * rendering/RenderFlexibleBox.cpp:
107         (WebCore::RenderFlexibleBox::layoutBlock):
108         Better terminology for pagination.
109
110         * rendering/RenderInline.cpp:
111         (WebCore::RenderInline::offsetFromContainer):
112         (WebCore::RenderInline::mapLocalToContainer):
113         * rendering/RenderLayer.cpp:
114         (WebCore::RenderLayer::paintChildLayerIntoColumns):
115         (WebCore::RenderLayer::hitTestChildLayerColumns):
116         (WebCore::RenderLayer::localBoundingBox):
117         (WebCore::RenderLayer::boundingBox):
118         Patch painting in RenderLayers to be vertical-text-aware.
119     
120         * rendering/RenderObject.cpp:
121         (WebCore::RenderObject::mapLocalToContainer):
122         Add code to be flipped block-aware with columns.
123
124         * rendering/RenderTable.cpp:
125         (WebCore::RenderTable::layout):
126         * rendering/RenderTableRow.cpp:
127         (WebCore::RenderTableRow::layout):
128         * rendering/RenderTableSection.cpp:
129         (WebCore::RenderTableSection::layoutRows):
130         Fix pagination to use better terminology.
131         
132         * rendering/RenderText.cpp:
133         (WebCore::RenderText::absoluteQuads):
134         (WebCore::RenderText::absoluteQuadsForRange):
135         Fix a bug where vertical text wasn't taken into account.
136
137 2011-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
138
139         Unreviewed, rolling out r76719.
140         http://trac.webkit.org/changeset/76719
141         https://bugs.webkit.org/show_bug.cgi?id=53122
142
143         Broke a bunch of media tests in Chromium/Qt/GTK.
144
145 2011-01-26  Tony Chang  <tony@chromium.org>
146
147         Reviewed by Ryosuke Niwa.
148
149         [gtk] strip NUL characters when copying text/html on GTK+
150         https://bugs.webkit.org/show_bug.cgi?id=52508
151
152         Putting NUL characters in the text/html clipboard doesn't work in
153         WebKit GTK+ (the pasted value is truncated at the NUL).  Since we're
154         already stripping this character for plain text (for Windows), strip
155         it in text/html too.
156
157         * editing/MarkupAccumulator.h: mark function as virtual
158         * editing/markup.cpp:
159         (WebCore::StyledMarkupAccumulator::appendString):
160         (WebCore::StyledMarkupAccumulator::takeResults): strip nulls
161
162 2011-01-26  Mario Sanchez Prada  <msanchez@igalia.com>
163
164         Reviewed by Martin Robinson.
165
166         [GTK] Reliable crash with getTextAtOffset()
167         https://bugs.webkit.org/show_bug.cgi?id=53131
168
169         Properly calculate length in bytes for a UTF8 substring.
170
171         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
172         (utf8Substr): Use character instead of bytes as units to
173         calculate the length in bytes for the UTF8 string.
174
175 2011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
176
177         Reviewed by Kent Tamura.
178
179         Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
180         https://bugs.webkit.org/show_bug.cgi?id=53122
181
182         This is the first step in converting HTMLMediaElement to the new shadow DOM.
183
184         Should not regress any existing tests. No observable change in behavior.
185
186         * css/CSSSelector.cpp:
187         (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
188         (WebCore::nameToPseudoTypeMap): Ditto.
189         (WebCore::CSSSelector::extractPseudoType): Ditto.
190         * css/CSSSelector.h: Ditto.
191         * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
192         * rendering/MediaControlElements.cpp:
193         (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
194             which is now replaced with virtual shadowPseudoId on each corresponding class.
195         (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
196         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
197             display type in constructor.
198         (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
199             constructor argument.
200         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
201         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
202             to disambiguate from the MediaControlMuteButtonElement.
203         (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
204         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
205         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
206             constructor argument.
207         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
208         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
209             constructor argument.
210         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
211         (WebCore::MediaControlSeekForwardButtonElement::create): Added.
212         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
213         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
214         (WebCore::MediaControlSeekBackButtonElement::create): Added.
215         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
216         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
217         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
218         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
219             constructor argument.
220         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
221         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
222             constructor argument.
223         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
224         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
225             constructor argument.
226         (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
227         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
228             constructor argument.
229         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
230         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
231             constructor argument.
232         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
233         * rendering/MediaControlElements.h:
234         (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
235         (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
236         * rendering/RenderMedia.cpp:
237         (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
238         (WebCore::RenderMedia::createSeekBackButton): Ditto.
239         (WebCore::RenderMedia::createSeekForwardButton): Ditto.
240         (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
241         * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
242
243 2011-01-26  Kenneth Russell  <kbr@google.com>
244
245         Reviewed by James Robinson.
246
247         Fix multisampling support in DrawingBuffer
248         https://bugs.webkit.org/show_bug.cgi?id=53154
249
250         In DrawingBuffer's multisampling code path, fixed enum usage and a
251         bug where it would incorrectly redefine the depth and stencil
252         buffers. Hooked up multisampling code path in Chromium port.
253
254         Tested manually with some accelerated 2D canvas content.
255         Multisampling isn't being switched on for the accelerated 2D
256         canvas at the current time because it will increase fill rate
257         requirements and cause a large number of rebaselines.
258
259         * platform/graphics/Extensions3D.h:
260         * platform/graphics/chromium/DrawingBufferChromium.cpp:
261         (WebCore::DrawingBuffer::publishToPlatformLayer):
262         * platform/graphics/chromium/Extensions3DChromium.h:
263         * platform/graphics/gpu/DrawingBuffer.cpp:
264         (WebCore::DrawingBuffer::create):
265         (WebCore::DrawingBuffer::reset):
266         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
267         (WebCore::Extensions3DOpenGL::supports):
268
269 2011-01-26  Tony Chang  <tony@chromium.org>
270
271         Unreviewed.
272
273         [chromium] revert r68310 because of race conditions detected by tsans
274         https://bugs.webkit.org/show_bug.cgi?id=53185
275
276         Causes stability problems for Chromium, http://crbug.com/70589
277
278         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
279         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
280
281 2011-01-26  Justin Schuh  <jschuh@chromium.org>
282
283         Reviewed by Adam Barth.
284
285         Make fireEventsAndUpdateStyle use stack local vectors. 
286         https://bugs.webkit.org/show_bug.cgi?id=46760
287
288         Test: animations/animation-add-events-in-handler.html
289
290         * page/animation/AnimationController.cpp:
291         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
292
293 2011-01-26  Nate Chapin  <japhet@chromium.org>
294
295         Reviewed by Adam Barth.
296
297         Remove m_URL from FrameLoader and depend on Document::url()
298         instead. FrameLoader::url() will be removed in a followup patch.
299         https://bugs.webkit.org/show_bug.cgi?id=41165
300
301         Refactor only, no new tests.
302
303         * WebCore.exp.in:
304         * dom/Document.cpp:
305         (WebCore::Document::Document):
306         (WebCore::Document::updateURLForPushOrReplaceState):
307         * loader/DocumentWriter.cpp:
308         (WebCore::DocumentWriter::begin):
309         * loader/FrameLoader.cpp:
310         (WebCore::FrameLoader::iconURL):
311         (WebCore::FrameLoader::didOpenURL):
312         (WebCore::FrameLoader::didExplicitOpen):
313         (WebCore::FrameLoader::receivedFirstData):
314         (WebCore::FrameLoader::url):
315         (WebCore::FrameLoader::setOutgoingReferrer):
316         (WebCore::FrameLoader::startIconLoader):
317         (WebCore::FrameLoader::commitIconURLToIconDatabase):
318         (WebCore::FrameLoader::finishedParsing):
319         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
320         (WebCore::FrameLoader::checkIfRunInsecureContent):
321         (WebCore::FrameLoader::updateFirstPartyForCookies):
322         (WebCore::FrameLoader::loadInSameDocument):
323         (WebCore::FrameLoader::commitProvisionalLoad):
324         (WebCore::FrameLoader::open):
325         (WebCore::FrameLoader::shouldScrollToAnchor):
326         * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer().
327
328 2011-01-25  Brian Weinstein  <bweinstein@apple.com>
329
330         Reviewed by Antti Koivisto.
331
332         Crashes loading pages when cancelling subresource loads through WebKit
333         https://bugs.webkit.org/show_bug.cgi?id=53123
334         <rdar://problem/8914361>
335         
336         Fix a crash that happened when cancelling subresource loads through WebKit.
337         
338         When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource 
339         can be called recursively on the same function, either leading to infinite recursion, or deleting 
340         an object when it is not done being used.
341         
342         The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when 
343         CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously).
344
345         Test: fast/loader/willSendRequest-null-for-preload.html
346
347         * loader/DocumentLoader.cpp:
348         (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame 
349             if our new URL is non-null.
350         * loader/cache/CachedResourceLoader.cpp:
351         (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer.
352         (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this 
353             function was called synchronously
354             from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously, 
355             so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous.
356         (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests.
357         (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector, 
358             so use Deque methods.
359         * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque.
360
361 2011-01-25  Pavel Podivilov  <podivilov@chromium.org>
362
363         Reviewed by Pavel Feldman.
364
365         Web Inspector: evaluate in console may not work when window.console is substituted or deleted.
366         https://bugs.webkit.org/show_bug.cgi?id=53072
367
368         Test: inspector/console-substituted.html
369
370         * inspector/InjectedScriptSource.js:
371         (.):
372
373 2011-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
374
375         Reviewed by Martin Robinson.
376
377         [cairo] Use CAIRO_OPERATOR_DARKEN when available
378         https://bugs.webkit.org/show_bug.cgi?id=53084
379
380         Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
381         CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.
382
383         * platform/graphics/cairo/CairoUtilities.cpp:
384         (WebCore::toCairoOperator):
385
386 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
387
388         Reviewed by Yury Semikhatsky.
389
390         Web Inspector: visualize \n in strings as unicode cr
391         symbol in stack variables sidebar.
392         https://bugs.webkit.org/show_bug.cgi?id=53162
393
394         * inspector/front-end/ObjectPropertiesSection.js:
395         (WebInspector.ObjectPropertyTreeElement.prototype.update):
396
397 2011-01-26  Andrey Kosyakov  <caseq@chromium.org>
398
399         Reviewed by Pavel Feldman.
400
401         Web Inspector: size is wrong for cached resources in Network panel
402         - Set the size for 304/not modified resources from cached resource.
403         - Add response headers size to resource transfer size.
404         https://bugs.webkit.org/show_bug.cgi?id=52886
405
406         * inspector/InspectorResourceAgent.cpp:
407         (WebCore::InspectorResourceAgent::didReceiveResponse):
408         * inspector/front-end/Resource.js:
409         (WebInspector.Resource):
410         (WebInspector.Resource.prototype.get transferSize):
411         (WebInspector.Resource.prototype.set responseHeaders):
412         (WebInspector.Resource.prototype._headersSize):
413         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
414
415 2011-01-26  Carol Szabo  <carol.szabo@nokia.com>
416
417         Reviewed by Simon Hausmann.
418
419         Fixed TiledBacking store to take into account new dirty regions caused by
420         paint time layouts.
421
422         Flawed rendering design for QtWebKit resulting in artifacts being displayed
423         https://bugs.webkit.org/show_bug.cgi?id=49184
424
425         There are no new tests as this patch aims at fixing flicker that
426         happen randomly, mostly on slow hardware, thus are hard to reproduce
427         consistently in an automated test.
428
429         This patch does not fully address the said bug but it is a step in the
430         right direction. A full solution to the bug, as currently perceived,
431         requires either a Qt GUI API change, a performance hit for QtWebKit,
432         or a hack, until a full solution is provided this patch is progress.
433
434         * platform/graphics/TiledBackingStore.cpp:
435         (WebCore::TiledBackingStore::updateTileBuffers):
436         Changed to take into account newly dirtied areas created during
437         tile update initiated layouts during the same update.
438
439 2011-01-26  Patrick Gansterer  <paroga@webkit.org>
440
441         Reviewed by Andreas Kling.
442
443         [SKIA] Remove "current path" of GraphicsContext
444         https://bugs.webkit.org/show_bug.cgi?id=53124
445
446         * platform/graphics/GraphicsContext.h:
447         * platform/graphics/skia/GraphicsContextSkia.cpp:
448         (WebCore::GraphicsContext::clipPath):
449         (WebCore::GraphicsContext::fillPath):
450         (WebCore::GraphicsContext::strokePath):
451         * platform/graphics/skia/PathSkia.cpp:
452         (WebCore::Path::strokeBoundingRect):
453         * platform/graphics/skia/PlatformContextSkia.cpp:
454         * platform/graphics/skia/PlatformContextSkia.h:
455
456 2011-01-26  Zalan Bujtas <zbujtas@gmail.com>
457
458         Reviewed by Andreas Kling.
459
460         [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.
461
462         QPainterPath returns angle values with the origo being at the top left corner,
463         we need to account for this in normalAngleAtLength().
464         This Regressed with r66979.
465
466         No new tests as this is already covered by ACID3.
467
468         * platform/graphics/qt/PathQt.cpp:
469         (WebCore::Path::normalAngleAtLength):
470
471 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
472
473         Reviewed by Yury Semikhatsky.
474
475         Web Inspector: live edit does not update source snippet.
476         https://bugs.webkit.org/show_bug.cgi?id=53097
477
478         * inspector/front-end/ScriptsPanel.js:
479         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
480
481 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
482
483         Reviewed by Yury Semikhatsky.
484
485         Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
486         https://bugs.webkit.org/show_bug.cgi?id=53018
487
488         * inspector/InjectedScript.cpp:
489         (WebCore::InjectedScript::evaluate):
490         (WebCore::InjectedScript::evaluateOnCallFrame):
491         (WebCore::InjectedScript::getCompletions):
492         (WebCore::InjectedScript::getCompletionsOnCallFrame):
493         * inspector/InjectedScript.h:
494         * inspector/InjectedScriptSource.js:
495         (.):
496         * inspector/Inspector.idl:
497         * inspector/InspectorDebuggerAgent.cpp:
498         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
499         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
500         * inspector/InspectorDebuggerAgent.h:
501         * inspector/InspectorRuntimeAgent.cpp:
502         (WebCore::InspectorRuntimeAgent::evaluate):
503         (WebCore::InspectorRuntimeAgent::getCompletions):
504         * inspector/InspectorRuntimeAgent.h:
505         * inspector/front-end/ConsoleView.js:
506         (WebInspector.ConsoleView.prototype.completions):
507         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
508         (WebInspector.ConsoleView.prototype._enterKeyPressed):
509         * inspector/front-end/ScriptsPanel.js:
510         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
511         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
512         * inspector/front-end/SourceFrame.js:
513         (WebInspector.SourceFrame.prototype._showPopup):
514         * inspector/front-end/WatchExpressionsSidebarPane.js:
515         (WebInspector.WatchExpressionsSection.prototype.update):
516
517 2011-01-26  Hironori Bono  <hbono@chromium.org>
518
519         Reviewed by Kent Tamura.
520
521         A speculative fix for Bug 52422 - [chromium] More crash in
522         FontFallbackList::determinePitch(const Font* font)
523         https://bugs.webkit.org/show_bug.cgi?id=52422
524
525         My previous change may not work on non-US Windows whose system fonts
526         have localized aliases matching to the system locale because of a
527         font-name mismatch in createFontIndirectAndGetWinName(). This change
528         tries all the fonts installed in a PC and returns the first font that we
529         can create without errors.
530
531         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
532         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
533         Added a struct used for getLastResortFallbackFontProc().
534         (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies().
535         (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font.
536
537 2011-01-26  James Robinson  <jamesr@chromium.org>
538
539         Reviewed by Nate Chapin.
540
541         Add a DOMTimeStamp parameter to the requestAnimationFrame callback
542         https://bugs.webkit.org/show_bug.cgi?id=53142
543
544         This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more
545         closely match mozilla's proposal.  This is useful if the page has multiple imperative animations
546         and wants to ensure that they all remain synchronized.  If each callback used Date.now() to
547         update its animation state, they would potentially be out of sync with each other.  If they use
548         the timestamp then all callbacks for the same "frame" will update to the same state.
549
550         Test: fast/animation/request-animation-frame-timestamps.html
551
552         * bindings/scripts/CodeGeneratorV8.pm:
553         * bindings/scripts/test/V8/V8TestCallback.cpp:
554         (WebCore::V8TestCallback::callbackWithClass2Param):
555         * dom/Document.cpp:
556         (WebCore::Document::serviceScriptedAnimations):
557         * dom/Document.h:
558         * dom/RequestAnimationFrameCallback.h:
559         * dom/RequestAnimationFrameCallback.idl:
560         * page/FrameView.cpp:
561         (WebCore::FrameView::serviceScriptedAnimations):
562         * page/FrameView.h:
563
564 2011-01-25  Yuzo Fujishima  <yuzo@google.com>
565
566         Unreviewed attempt to fix compilation error for Chromium Clang.
567
568         * platform/graphics/mac/ComplexTextController.cpp:
569         (WebCore::ComplexTextController::advance):
570
571 2011-01-25  Ned Holbrook  <nholbrook@apple.com>
572
573         Reviewed by Dan Bernstein.
574
575         ComplexTextController incorrectly conflates string length and range of indexes
576         https://bugs.webkit.org/show_bug.cgi?id=52760
577
578         Test: fast/text/offsetForPosition-complex-fallback.html
579
580         * platform/graphics/mac/ComplexTextController.cpp:
581         (WebCore::ComplexTextController::offsetForPosition):
582         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
583         (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
584         (WebCore::ComplexTextController::advance):
585         * platform/graphics/mac/ComplexTextController.h:
586         (WebCore::ComplexTextController::ComplexTextRun::create):
587         (WebCore::ComplexTextController::ComplexTextRun::indexEnd):
588         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
589         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
590         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
591         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
592         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
593
594 2011-01-25  Sam Weinig  <sam@webkit.org>
595
596         Reviewed by David Hyatt.
597
598         Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area
599         https://bugs.webkit.org/show_bug.cgi?id=53048
600
601         Test: fast/overflow/overflow-rtl-vertical-origin.html
602
603         * rendering/RenderLayer.cpp:
604         (WebCore::RenderLayer::scrollPosition):
605         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
606         Take the scroll origin into account when calculating scrollbars in more places.
607
608 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
609
610         Windows production build fix.
611         Use correct configuration-specific path in makefile.
612
613         * WebCore.vcproj/WebCore.make:
614
615 2011-01-25  Kent Tamura  <tkent@chromium.org>
616
617         Reviewed by Dimitri Glazkov.
618
619         Radio button group state is not restored correctly
620         https://bugs.webkit.org/show_bug.cgi?id=50442
621
622         Fixes a bug that radio button states are not restored correctly in
623         a case that non-first radio button in a group is checked.
624
625         If "checked" attribute is present, the radio button is checked and
626         other radio buttons in the group are unchecked. This behavior
627         disturbs form state restoring. This patch changes this behavior so
628         that the "checked" attribute handling is delayed after form state
629         restoring.
630
631         Test: fast/forms/state-restore-radio-group.html
632
633         * html/HTMLFormControlElement.h:
634          Make finishParsingChildren() protected so that HTMLInpuElement can call it.
635         * html/HTMLInputElement.cpp:
636         (WebCore::HTMLInputElement::HTMLInputElement):
637          - Add createdByParser parameter.
638          - Initialize m_stateRestored and m_parsingInProgress.
639         (WebCore::HTMLInputElement::create): Sync with the constructor.
640         (WebCore::HTMLInputElement::restoreFormControlState):
641          Set m_stateRestored in order to refer it in finishParsingChildren().
642         (WebCore::HTMLInputElement::parseMappedAttribute):
643          Don't call setChecked() during parsing. Move setNeedsValidityCheck()
644          to setChecked().
645         (WebCore::HTMLInputElement::finishParsingChildren):
646          Call setChecked() if form state is not restored.
647         (WebCore::HTMLInputElement::setChecked):
648          Move setNeedsValidityCheck() from parseMappedAttribute() because
649          finishParsingChildren() also needs to call setNeedsValidityCheck().
650         * html/HTMLInputElement.h:
651          - Remove the default value of HTMLFormElement* of the HTMLInputElement
652            constructor, and add createdByParser parameter.
653          - Introduce m_parsingInProgress and m_stateRestored.
654         * html/HTMLIsIndexElement.cpp:
655         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
656          Sync with the HTMLInputElement constructor change.
657         * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag.
658         * rendering/MediaControlElements.cpp:
659         (WebCore::MediaControlInputElement::MediaControlInputElement):
660          Sync with the HTMLInputElement constructor change.
661         * rendering/ShadowElement.cpp:
662         (WebCore::ShadowInputElement::ShadowInputElement): ditto.
663         * rendering/ShadowElement.h:
664         (WebCore::ShadowElement::ShadowElement): ditto.
665
666 2011-01-25  Kent Tamura  <tkent@chromium.org>
667
668         Reviewed by Dimitri Glazkov.
669
670         HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
671         https://bugs.webkit.org/show_bug.cgi?id=52565
672
673         * html/HTMLFormElement.cpp:
674         (WebCore::HTMLFormElement::validateInteractively):
675           Check checkInvalidControlsAndCollectUnhandled() result instead of
676           checking emptiness of unhandled invalid controls list.
677         (WebCore::HTMLFormElement::checkValidity): ditto.
678         (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
679           Renamed from collectUnhandledInvalidControls().
680           Returns true if there is any invalid control regardless of event canceling.
681         * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to
682           checkInvalidControlsAndCollectUnhandled().
683
684 2011-01-25  Kent Tamura  <tkent@chromium.org>
685
686         Reviewed by Dimitri Glazkov.
687
688         Range and number inputs should reject increment and decrement by
689         keyboard or mouse wheel if they are disabled or read-only
690         https://bugs.webkit.org/show_bug.cgi?id=53151
691
692         * html/RangeInputType.cpp:
693         (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly().
694         * html/TextFieldInputType.cpp:
695         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
696         (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto.
697
698 2011-01-25  Kent Tamura  <tkent@chromium.org>
699
700         Reviewed by Dimitri Glazkov.
701
702         API to support localized numbers for <input type=number>
703         https://bugs.webkit.org/show_bug.cgi?id=45730
704
705         Introduce platform/text/LocalizedNumber.h, and
706         LocalizedNumberNone.cpp, which is an empty implementation of the
707         functions in LocalizedNumber.h.  We use LocalizedNumberNone.cpp in
708         all platforms for now.
709
710         A string in a type=number field is parsed as a localized number
711         first. If the parsing fails, it is parsed as the HTML5 number.
712
713         We introduce HTMLInputElement::visibleValue(). It represents a value
714         which should be drawn by a renderer. HTMLInputElement::value() always
715         returns a number formatted for HTML5, and visibleValue() may return a
716         localized number.
717
718         No new tests because this doesn't change any behavior.
719
720         * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp.
721         * CMakeLists.txt: ditto.
722         * GNUmakefile.am: ditto.
723         * WebCore.gypi: ditto.
724         * WebCore.pro: ditto.
725         * WebCore.vcproj/WebCore.vcproj: ditto.
726         * WebCore.xcodeproj/project.pbxproj: ditto.
727         * dom/InputElement.h: Add visibleValue().
728         * html/HTMLInputElement.cpp:
729         (WebCore::HTMLInputElement::visibleValue): Added.  Just call InputType::visibleValue().
730         * html/HTMLInputElement.h: Declare visibleValue().
731         * html/InputType.cpp:
732         (WebCore::InputType::visibleValue): Add the default implementation of
733           visibleValue(), which returns HTMLInputElement::value().
734         * html/InputType.h: Add declarations.
735         * html/NumberInputType.cpp:
736         (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter().
737         (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter().
738         (WebCore::NumberInputType::visibleValue):
739           Returns a localized number string produced by formatLocalizedNumber().
740         (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber().
741         (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber().
742         * html/NumberInputType.h: Add declarations.
743         * platform/text/LocalizedNumber.h: Added.
744         * platform/text/LocalizedNumberNone.cpp: Added.
745         (WebCore::parseLocalizedNumber):
746         (WebCore::formatLocalizedNumber):
747         (WebCore::isLocalizedNumberCharacter):
748         * rendering/RenderTextControlSingleLine.cpp:
749         (WebCore::RenderTextControlSingleLine::updateFromElement):
750           Calls InputElement::visibleValue() instead of value().
751         * wml/WMLInputElement.h:
752         (WebCore::WMLInputElement::visibleValue): Added. It just calls value().
753
754 2011-01-25  Alexey Proskuryakov  <ap@apple.com>
755
756         Reviewed by Darin Adler.
757
758         https://bugs.webkit.org/show_bug.cgi?id=53143
759         Add IntRectHash
760
761         * WebCore.xcodeproj/project.pbxproj:
762         * platform/graphics/IntRectHash.h: Added.
763
764         * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!
765
766 2011-01-25  Ilya Sherman  <isherman@chromium.org>
767
768         Reviewed by Ryosuke Niwa.
769
770         Remove trailing whitespace in HTMLInputElement.cpp
771         https://bugs.webkit.org/show_bug.cgi?id=53152
772
773         * html/HTMLInputElement.cpp:
774         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
775         (WebCore::HTMLInputElement::applyStep):
776         (WebCore::HTMLInputElement::updateFocusAppearance):
777         (WebCore::HTMLInputElement::mapToEntry):
778         (WebCore::HTMLInputElement::setAutofilled):
779         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
780         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
781
782 2011-01-25  Mike Reed  <reed@google.com>
783
784         Reviewed by James Robinson.
785
786         DrawingBufer::reset() today checks if the new size is the same as its
787         m_size, and if so, returns immediately. This does not match the
788         semantics of <canvas>, which wants to clear its contents anytime the
789         size is specified.
790         https://bugs.webkit.org/show_bug.cgi?id=53149
791
792         Test: Covered by existing <canvas> tests using gpu.
793
794         * platform/graphics/chromium/DrawingBufferChromium.cpp:
795         (WebCore::DrawingBuffer::DrawingBuffer):
796         * platform/graphics/gpu/DrawingBuffer.cpp:
797         (WebCore::DrawingBuffer::reset):
798
799 2011-01-25  Cris Neckar  <cdn@chromium.org>
800
801         Reviewed by Adam Barth.
802
803         Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
804         https://bugs.webkit.org/show_bug.cgi?id=53038
805
806         Test: fast/dom/window-domurl-crash.html
807
808         * dom/ScriptExecutionContext.cpp:
809         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
810         (WebCore::ScriptExecutionContext::createdDomUrl):
811         (WebCore::ScriptExecutionContext::destroyedDomUrl):
812         * dom/ScriptExecutionContext.h:
813         (WebCore::ScriptExecutionContext::domUrls):
814         * html/DOMURL.cpp:
815         (WebCore::DOMURL::DOMURL):
816         (WebCore::DOMURL::~DOMURL):
817         (WebCore::DOMURL::contextDestroyed):
818         * html/DOMURL.h:
819         (WebCore::DOMURL::scriptExecutionContext):
820
821 2011-01-23  Antti Koivisto  <antti@apple.com>
822
823         Reviewed by Darin Adler.
824
825         https://bugs.webkit.org/show_bug.cgi?id=52983
826         Eliminate m_tagHistory pointer from CSSSelector
827
828         Keep the component selectors in the array in CSSSelectorList instead
829         of maintaining a linked list between them. This allows eliminating
830         m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance
831         seems to improve some too due to better locality).
832
833         * WebCore.xcodeproj/project.pbxproj:
834         
835             Make CSSSelector.h a private header.
836         
837         * css/CSSGrammar.y:
838         
839             Use CSSParserSelector during parsing to keep the tag history in 
840             a linked list. This is flattened to an array after parsing.
841             Use accessors for setting selector values.
842             Use OwnPtr in selector vector.
843             
844         * css/CSSPageRule.cpp:
845         (WebCore::CSSPageRule::CSSPageRule):
846         * css/CSSPageRule.h:
847         (WebCore::CSSPageRule::create):
848         
849             Simplify.
850     
851         * css/CSSParser.cpp:
852         (WebCore::CSSParser::~CSSParser):
853         (WebCore::CSSParser::createFloatingSelector):
854         (WebCore::CSSParser::sinkFloatingSelector):
855         (WebCore::CSSParser::createStyleRule):
856         (WebCore::CSSParser::updateSpecifiersWithElementName):
857         (WebCore::CSSParser::createPageRule):
858         * css/CSSParser.h:
859         (WebCore::CSSParser::reusableSelectorVector):
860         
861             CSSSelector -> CSSParserSelector.
862             Use OwnPtr in selector vector.
863             
864         * css/CSSParserValues.cpp:
865         (WebCore::CSSParserSelector::CSSParserSelector):
866         (WebCore::CSSParserSelector::~CSSParserSelector):
867         * css/CSSParserValues.h:
868         (WebCore::CSSParserSelector::releaseSelector):
869         (WebCore::CSSParserSelector::setTag):
870         (WebCore::CSSParserSelector::setValue):
871         (WebCore::CSSParserSelector::setAttribute):
872         (WebCore::CSSParserSelector::setArgument):
873         (WebCore::CSSParserSelector::setSimpleSelector):
874         (WebCore::CSSParserSelector::setMatch):
875         (WebCore::CSSParserSelector::setRelation):
876         (WebCore::CSSParserSelector::setForPage):
877         (WebCore::CSSParserSelector::pseudoType):
878         (WebCore::CSSParserSelector::isUnknownPseudoElement):
879         (WebCore::CSSParserSelector::isSimple):
880         (WebCore::CSSParserSelector::tagHistory):
881         (WebCore::CSSParserSelector::setTagHistory):
882         
883             Linked list used during parsing.
884             Avoid recursive destruction.
885
886         * css/CSSSelector.cpp:
887         (WebCore::CSSSelector::extractPseudoType):
888         (WebCore::CSSSelector::operator==):
889         (WebCore::CSSSelector::selectorText):
890         (WebCore::CSSSelector::setSimpleSelector):
891         * css/CSSSelector.h:
892         (WebCore::CSSSelector::CSSSelector):
893         (WebCore::CSSSelector::~CSSSelector):
894         (WebCore::CSSSelector::tagHistory):
895         (WebCore::CSSSelector::tag):
896         (WebCore::CSSSelector::value):
897         (WebCore::CSSSelector::setTag):
898         (WebCore::CSSSelector::isLastInTagHistory):
899         (WebCore::CSSSelector::setNotLastInTagHistory):
900         (WebCore::CSSSelector::RareData::RareData):
901         (WebCore::CSSSelector::RareData::~RareData):
902         (WebCore::CSSSelector::createRareData):
903         (WebCore::CSSSelector::setValue):
904         
905             Remove m_tagHistory.
906             Keep m_value in the union with the rare data pointer instead.
907             Make m_value and m_tag private, implement accessors.
908             Add a new bit to indicate end of the tag history (multipart selector).
909             Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain.
910             
911         * css/CSSSelectorList.cpp:
912         (WebCore::CSSSelectorList::adoptSelectorVector):
913         
914             Flatten everything to an array.
915         
916         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
917         * css/CSSSelectorList.h:
918         (WebCore::CSSSelectorList::hasOneSelector):
919         (WebCore::CSSSelectorList::next):
920         
921             Skip over the subparts of multipart selectors to find the next selector.
922     
923         * css/CSSStyleRule.h:
924         (WebCore::CSSStyleRule::adoptSelectorVector):
925         
926             CSSSelector -> CSSParserSelector.
927             
928         * css/CSSStyleSelector.cpp:
929         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
930         (WebCore::CSSRuleSet::addRule):
931         (WebCore::collectIdsAndSiblingRulesFromList):
932         (WebCore::CSSStyleSelector::matchPageRulesForList):
933         * dom/Node.cpp:
934         (WebCore::Node::querySelector):
935         * dom/SelectorNodeList.cpp:
936         (WebCore::createSelectorNodeList):
937         
938             Use accessors.
939
940 2011-01-25  James Simonsen  <simonjam@chromium.org>
941
942         Reviewed by Tony Chang.
943
944         [Chromium] Support small caps in complex text on linux
945         https://bugs.webkit.org/show_bug.cgi?id=53051
946
947         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
948         (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries.
949         (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed.
950         * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string.
951
952 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
953
954         Rubber-stamped by Adam Roben.
955
956         Windows production build fix.
957         Use correct environment variable escaping
958
959         * WebCore.vcproj/WebCore.make:
960
961 2011-01-25  Adam Barth  <abarth@webkit.org>
962
963         Reviewed by Eric Seidel.
964
965         Empty URLs are never display isolated
966         https://bugs.webkit.org/show_bug.cgi?id=53053
967
968         This check mirrors the check in the local case.  There isn't a good way
969         to test this with a LayoutTest, but it is tested in Chromium (where
970         this registry is used).
971
972         * platform/SchemeRegistry.cpp:
973         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
974
975 2011-01-25  Sam Weinig  <sam@webkit.org>
976
977         Reviewed by Anders Carlsson.
978
979         Pipe a timestamp down into the PlatformWheelEvent for the Mac.
980         https://bugs.webkit.org/show_bug.cgi?id=53111
981
982         * platform/PlatformWheelEvent.h:
983         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
984         (WebCore::PlatformWheelEvent::timestamp):
985         Add timestamp member.
986
987         * platform/mac/WheelEventMac.mm:
988         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
989         Initialize the timestamp from the event.
990
991 2011-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
992
993         Unreviewed, rolling out r76625.
994         http://trac.webkit.org/changeset/76625
995         https://bugs.webkit.org/show_bug.cgi?id=53119
996
997         "incorrect pixel test results" (Requested by rniwa on
998         #webkit).
999
1000         * rendering/RenderBox.cpp:
1001         (WebCore::RenderBox::localCaretRect):
1002
1003 2011-01-25  Patrick Gansterer  <paroga@webkit.org>
1004
1005         Unreviewed WinCE build fix for r76614.
1006
1007         * platform/FileSystem.h:
1008
1009 2011-01-21  Levi Weintraub  <leviw@chromium.org>
1010
1011         Reviewed by Darin Adler.
1012
1013         Adding border and padding to the calculation of the local caret rect for RenderBoxes.
1014
1015         Undo moves caret to invalid position
1016         https://bugs.webkit.org/show_bug.cgi?id=49744
1017
1018         Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
1019                editing/selection/caret-painting-after-paste-undo.html
1020
1021         * rendering/RenderBox.cpp:
1022         (WebCore::RenderBox::localCaretRect):
1023
1024 2011-01-25  Sam Weinig  <sam@webkit.org>
1025
1026         Reviewed by Anders Carlsson.
1027
1028         Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
1029         https://bugs.webkit.org/show_bug.cgi?id=53107
1030
1031         * platform/PlatformWheelEvent.h:
1032         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1033         (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
1034         * platform/mac/WheelEventMac.mm:
1035         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1036
1037 2011-01-20  Jer Noble  <jer.noble@apple.com>
1038
1039         Reviewed by Eric Carlson.
1040
1041         REGRESSION (r72119): Audio never plays on Star Wars intro animation
1042         https://bugs.webkit.org/show_bug.cgi?id=52467
1043         
1044         QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime
1045         type which it supports, though it handles .m4a files just fine.  Change the way
1046         we build the list of supported MIME Types through a new WebKitSystemInterface
1047         function.
1048         
1049         Caused by r72119, which adds system-specific extension->MIME entries to the cache
1050         before global entries, and the system-specific entries include QuickTime's registry 
1051         entries which contain the audio/m4a MIME type, while its components do not.
1052
1053         Test: media/audio-mpeg4-supported.html
1054
1055         * WebCore.vcproj/QTMovieWinCommon.vsprops:
1056         * platform/graphics/win/QTMovie.cpp:
1057         (getMIMETypeCallBack):
1058         (initializeSupportedTypes):
1059         (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef.
1060         (QTMovie::getSupportedType): Ditto.
1061
1062 2011-01-25  Hans Wennborg  <hans@chromium.org>
1063
1064         Reviewed by Jeremy Orlow.
1065
1066         IndexedDB: Remove PlatformBridge::idbShutdown()
1067         https://bugs.webkit.org/show_bug.cgi?id=53077
1068
1069         Since Chromium r72157, this is not used anymore. The previous use was
1070         to signal to the embedder that IndexedDB was shutting down, but we
1071         agreed it is better if the embedder keeps track of that itself.
1072
1073         No new tests: this does not change any functionality.
1074
1075         * platform/chromium/PlatformBridge.h:
1076         * storage/IDBFactoryBackendInterface.cpp:
1077         * storage/IDBFactoryBackendInterface.h:
1078         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
1079         * storage/chromium/IDBFactoryBackendInterface.cpp:
1080
1081 2011-01-25  Darin Adler  <darin@apple.com>
1082
1083         Reviewed by Anders Carlsson.
1084
1085         WebKit is using CSBackupSetItemExcluded incorrectly
1086         https://bugs.webkit.org/show_bug.cgi?id=53095
1087         rdar://problem/8790540
1088
1089         * loader/icon/IconDatabase.cpp:
1090         (WebCore::IconDatabase::performOpenInitialization): Added code to
1091         exclude the database from backup one time, and record inside the
1092         database that this has been done.
1093         (WebCore::IconDatabase::wasExcludedFromBackup): Added.
1094         (WebCore::IconDatabase::setWasExcludedFromBackup): Added.
1095         * loader/icon/IconDatabase.h: Added new functions above.
1096
1097         * platform/FileSystem.cpp:
1098         (WebCore::canExcludeFromBackup): Added.
1099         (WebCore::excludeFromBackup): Added.
1100
1101         * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup,
1102         and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted
1103         things alphabetically, particularly platform-specific sections.
1104
1105         * platform/cf/FileSystemCF.cpp:
1106         (WebCore::pathAsURL): Added.
1107
1108         * platform/mac/FileSystemMac.mm:
1109         (WebCore::canExcludeFromBackup): Added.
1110         (WebCore::excludeFromBackup): Added.
1111
1112         * platform/network/cf/FormDataStreamCFNet.cpp:
1113         (WebCore::advanceCurrentStream): Changed to call pathAsURL.
1114         * platform/network/mac/FormDataStreamMac.mm:
1115         (WebCore::advanceCurrentStream): Ditto.
1116
1117 2011-01-25  Helder Correia  <helder@sencha.com>
1118
1119         Reviewed by Dirk Schulze.
1120
1121         REGRESSION(75139): SVG gradients are not applied to texts
1122         https://bugs.webkit.org/show_bug.cgi?id=52531
1123
1124         CGContextConcatCTM should use the CGLayer context, not the
1125         GraphicsContext. Also, the CTM needs to be adjusted (translated).
1126         This fixes SVG text gradient fill.
1127
1128         Test: svg/css/composite-shadow-text.svg
1129
1130         * platform/graphics/cg/GraphicsContextCG.cpp:
1131         (WebCore::GraphicsContext::fillRect):
1132
1133 2011-01-25  Benjamin Kalman  <kalman@chromium.org>
1134
1135         Reviewed by Ryosuke Niwa.
1136
1137         Cannot extend or modify forward by word over a non-contenteditable region
1138         https://bugs.webkit.org/show_bug.cgi?id=53070
1139
1140         Test: editing/selection/extend-forward-by-word-over-non-editable.html
1141
1142         Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the
1143         functions which determine the end/start of words/lines/sentences in visible_units.cpp.
1144
1145         This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor
1146         inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore.
1147         The cursor is now moved to the end of the region (which is effectively a noop in this case).
1148
1149         * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to
1150         honorEditableBoundaryAtOrBefore and vice versa.
1151         (WebCore::previousWordPosition):
1152         (WebCore::nextWordPosition):
1153         (WebCore::startOfLine):
1154         (WebCore::endOfLine):
1155         (WebCore::previousSentencePosition):
1156         (WebCore::nextSentencePosition):
1157         (WebCore::logicalStartOfLine):
1158         (WebCore::logicalEndOfLine):
1159
1160 2011-01-25  Yael Aharon  <yael.aharon@nokia.com>
1161
1162         Unreviewed build fix.
1163         After r76466, efsrv.lib is used unconditionally.
1164         Don't guard it with ENABLE_NETSCAPE_PLUGIN_API.
1165
1166         * WebCore.pro:
1167
1168 2011-01-24  Zhenyao Mo  <zmo@google.com>
1169
1170         Reviewed by Kenneth Russell.
1171
1172         Style cleanup for WebGLRenderingContext
1173         https://bugs.webkit.org/show_bug.cgi?id=52352
1174
1175         * html/canvas/WebGLBuffer.cpp:
1176         * html/canvas/WebGLBuffer.h:
1177         * html/canvas/WebGLObject.cpp:
1178         * html/canvas/WebGLProgram.cpp:
1179         * html/canvas/WebGLRenderbuffer.cpp:
1180         * html/canvas/WebGLRenderingContext.cpp:
1181         (WebCore::WebGLRenderingContext::create):
1182         (WebCore::WebGLRenderingContext::blendFunc):
1183         (WebCore::WebGLRenderingContext::createShader):
1184         (WebCore::WebGLRenderingContext::deleteBuffer):
1185         (WebCore::WebGLRenderingContext::deleteShader):
1186         (WebCore::WebGLRenderingContext::deleteTexture):
1187         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
1188         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
1189         (WebCore::WebGLRenderingContext::validateRenderingState):
1190         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
1191         (WebCore::WebGLRenderingContext::getUniform):
1192         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
1193         * html/canvas/WebGLRenderingContext.h:
1194         * html/canvas/WebGLShader.cpp:
1195         * html/canvas/WebGLTexture.cpp:
1196         * html/canvas/WebGLUniformLocation.cpp:
1197         * html/canvas/WebGLUniformLocation.h:
1198
1199 2011-01-24  Chris Marrin  <cmarrin@apple.com>
1200
1201         Reviewed by Eric Seidel.
1202
1203         Change ENABLE_3D_CANVAS to ENABLE_WEBGL
1204         https://bugs.webkit.org/show_bug.cgi?id=53041
1205
1206         * Configurations/FeatureDefines.xcconfig:
1207         * DerivedSources.cpp:
1208         * GNUmakefile.am:
1209         * WebCore.pro:
1210         * bindings/generic/RuntimeEnabledFeatures.h:
1211         * bindings/js/JSArrayBufferCustom.cpp:
1212         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1213         (WebCore::toJS):
1214         * bindings/js/JSDOMWindowCustom.cpp:
1215         * bindings/js/JSDataViewCustom.cpp:
1216         * bindings/js/JSDocumentCustom.cpp:
1217         * bindings/js/JSFloat32ArrayCustom.cpp:
1218         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1219         (WebCore::JSHTMLCanvasElement::getContext):
1220         * bindings/js/JSInt16ArrayCustom.cpp:
1221         * bindings/js/JSInt32ArrayCustom.cpp:
1222         * bindings/js/JSInt8ArrayCustom.cpp:
1223         * bindings/js/JSUint16ArrayCustom.cpp:
1224         * bindings/js/JSUint32ArrayCustom.cpp:
1225         * bindings/js/JSUint8ArrayCustom.cpp:
1226         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1227         * bindings/js/JSXMLHttpRequestCustom.cpp:
1228         (WebCore::JSXMLHttpRequest::markChildren):
1229         (WebCore::JSXMLHttpRequest::send):
1230         (WebCore::JSXMLHttpRequest::response):
1231         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1232         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1233         * bindings/v8/custom/V8DataViewCustom.cpp:
1234         * bindings/v8/custom/V8DocumentCustom.cpp:
1235         (WebCore::V8Document::getCSSCanvasContextCallback):
1236         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1237         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1238         (WebCore::V8HTMLCanvasElement::getContextCallback):
1239         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1240         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1241         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1242         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1243         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1244         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1245         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1246         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1247         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
1248         (WebCore::V8XMLHttpRequest::sendCallback):
1249         * features.pri:
1250         * html/HTMLCanvasElement.cpp:
1251         (WebCore::HTMLCanvasElement::getContext):
1252         (WebCore::HTMLCanvasElement::reset):
1253         * html/HTMLCanvasElement.h:
1254         * html/canvas/ArrayBuffer.cpp:
1255         * html/canvas/ArrayBuffer.idl:
1256         * html/canvas/ArrayBufferView.cpp:
1257         * html/canvas/ArrayBufferView.idl:
1258         * html/canvas/DataView.cpp:
1259         * html/canvas/DataView.idl:
1260         * html/canvas/Float32Array.cpp:
1261         * html/canvas/Float32Array.idl:
1262         * html/canvas/Int16Array.cpp:
1263         * html/canvas/Int16Array.idl:
1264         * html/canvas/Int32Array.cpp:
1265         * html/canvas/Int32Array.idl:
1266         * html/canvas/Int8Array.cpp:
1267         * html/canvas/Int8Array.idl:
1268         * html/canvas/OESStandardDerivatives.cpp:
1269         * html/canvas/OESStandardDerivatives.idl:
1270         * html/canvas/OESTextureFloat.cpp:
1271         * html/canvas/OESTextureFloat.idl:
1272         * html/canvas/Uint16Array.cpp:
1273         * html/canvas/Uint16Array.idl:
1274         * html/canvas/Uint32Array.cpp:
1275         * html/canvas/Uint32Array.idl:
1276         * html/canvas/Uint8Array.cpp:
1277         * html/canvas/Uint8Array.idl:
1278         * html/canvas/WebGLActiveInfo.idl:
1279         * html/canvas/WebGLBuffer.cpp:
1280         * html/canvas/WebGLBuffer.idl:
1281         * html/canvas/WebGLContextAttributes.cpp:
1282         * html/canvas/WebGLContextAttributes.idl:
1283         * html/canvas/WebGLContextEvent.idl:
1284         * html/canvas/WebGLExtension.cpp:
1285         * html/canvas/WebGLFramebuffer.cpp:
1286         * html/canvas/WebGLFramebuffer.idl:
1287         * html/canvas/WebGLGetInfo.cpp:
1288         * html/canvas/WebGLObject.cpp:
1289         * html/canvas/WebGLProgram.cpp:
1290         * html/canvas/WebGLProgram.idl:
1291         * html/canvas/WebGLRenderbuffer.cpp:
1292         * html/canvas/WebGLRenderbuffer.idl:
1293         * html/canvas/WebGLRenderingContext.cpp:
1294         * html/canvas/WebGLRenderingContext.idl:
1295         * html/canvas/WebGLShader.cpp:
1296         * html/canvas/WebGLShader.idl:
1297         * html/canvas/WebGLTexture.cpp:
1298         * html/canvas/WebGLTexture.idl:
1299         * html/canvas/WebGLUniformLocation.cpp:
1300         * html/canvas/WebGLUniformLocation.idl:
1301         * html/canvas/WebKitLoseContext.cpp:
1302         * html/canvas/WebKitLoseContext.idl:
1303         * page/DOMWindow.idl:
1304         * platform/graphics/ANGLEWebKitBridge.cpp:
1305         * platform/graphics/GraphicsContext3D.cpp:
1306         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1307         * platform/graphics/gpu/DrawingBuffer.cpp:
1308         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
1309         * platform/graphics/mac/GraphicsContext3DMac.mm:
1310         * platform/graphics/mac/WebGLLayer.mm:
1311         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1312         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1313         * platform/graphics/qt/Extensions3DQt.cpp:
1314         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1315         * platform/graphics/qt/GraphicsLayerQt.cpp:
1316         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
1317         (WebCore::GraphicsLayerQtImpl::paint):
1318         (WebCore::GraphicsLayerQtImpl::flushChanges):
1319         * platform/graphics/qt/GraphicsLayerQt.h:
1320         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1321         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1322         * rendering/RenderLayerBacking.cpp:
1323         (WebCore::isAcceleratedCanvas):
1324         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1325         (WebCore::RenderLayerBacking::containsPaintedContent):
1326         (WebCore::RenderLayerBacking::contentChanged):
1327         * webaudio/AudioBuffer.cpp:
1328         * webaudio/AudioBuffer.idl:
1329         * webaudio/RealtimeAnalyser.cpp:
1330         * webaudio/RealtimeAnalyser.h:
1331         * webaudio/RealtimeAnalyserNode.h:
1332         * webaudio/RealtimeAnalyserNode.idl:
1333         * xml/XMLHttpRequest.cpp:
1334         (WebCore::XMLHttpRequest::setResponseType):
1335         (WebCore::XMLHttpRequest::clearResponse):
1336         (WebCore::XMLHttpRequest::didReceiveData):
1337         * xml/XMLHttpRequest.h:
1338
1339 2011-01-25  Mikhail Naganov  <mnaganov@chromium.org>
1340
1341         Reviewed by Pavel Feldman.
1342
1343         Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots.
1344
1345         - Introduce Preferences.detailedHeapProfiles flag for controlling
1346           querying of detailed heap snapshots.
1347         - Add boilerplate code for the new view.
1348         - Factor out common code.
1349
1350         https://bugs.webkit.org/show_bug.cgi?id=52624
1351
1352         * WebCore.gypi:
1353         * WebCore.vcproj/WebCore.vcproj:
1354         * bindings/js/ScriptProfiler.h:
1355         (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
1356         (WebCore::ScriptProfiler::takeHeapSnapshot):
1357         * bindings/v8/ScriptProfiler.cpp:
1358         (WebCore::ScriptProfiler::takeHeapSnapshot):
1359         * bindings/v8/ScriptProfiler.h:
1360         (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
1361         * inspector/Inspector.idl:
1362         * inspector/InspectorProfilerAgent.cpp:
1363         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
1364         * inspector/InspectorProfilerAgent.h:
1365         * inspector/front-end/DetailedHeapshotView.js: Added.
1366         (WebInspector.DetailedHeapshotView):
1367         (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
1368         (WebInspector.DetailedHeapshotView.prototype.get profile):
1369         (WebInspector.DetailedHeapshotView.prototype.set profile):
1370         (WebInspector.DetailedHeapshotView.prototype.show):
1371         (WebInspector.DetailedHeapshotView.prototype.hide):
1372         (WebInspector.DetailedHeapshotProfileType):
1373         (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip):
1374         (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle):
1375         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
1376         (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage):
1377         (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile):
1378         (WebInspector.DetailedHeapshotProfileType.prototype.createView):
1379         * inspector/front-end/HeapSnapshot.js: Added.
1380         (WebInspector.HeapSnapshotEdgesIterator):
1381         (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
1382         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
1383         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
1384         (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
1385         (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
1386         (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
1387         (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
1388         (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
1389         (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
1390         (WebInspector.HeapSnapshotNodeWrapper):
1391         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
1392         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
1393         (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
1394         (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
1395         (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
1396         (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
1397         (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
1398         (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
1399         (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
1400         (WebInspector.HeapSnapshot):
1401         (WebInspector.HeapSnapshot.prototype._init):
1402         (WebInspector.HeapSnapshot.prototype.get rootEdges):
1403         * inspector/front-end/HeapSnapshotView.js:
1404         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
1405         * inspector/front-end/ProfilesPanel.js:
1406         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
1407         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
1408         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
1409         (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress):
1410         * inspector/front-end/Settings.js:
1411         * inspector/front-end/WebKit.qrc:
1412         * inspector/front-end/inspector.html:
1413         * inspector/front-end/inspector.js:
1414         (WebInspector._createPanels):
1415
1416 2011-01-25  Yury Semikhatsky  <yurys@chromium.org>
1417
1418         Reviewed by Pavel Feldman.
1419
1420         Web Inspector: remove "attached" state related methods from InspectorAgent
1421         https://bugs.webkit.org/show_bug.cgi?id=53086
1422
1423         * WebCore.exp.in:
1424         * inspector/InspectorAgent.cpp:
1425         * inspector/InspectorAgent.h:
1426         * inspector/InspectorFrontendClientLocal.cpp:
1427         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
1428         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
1429         * inspector/InspectorSettings.cpp:
1430         (WebCore::InspectorSettings::InspectorSettings):
1431         * inspector/InspectorSettings.h:
1432
1433 2011-01-25  Qi Zhang  <qi.2.zhang@nokia.com>
1434
1435         Reviewed by Laszlo Gombos.
1436
1437         [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h
1438         https://bugs.webkit.org/show_bug.cgi?id=51873
1439         
1440         Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue.
1441         No new functionality so no new tests.
1442
1443         * html/canvas/Int32Array.h:
1444         (WebCore::Int32Array::set):
1445         * html/canvas/Int8Array.h:
1446         (WebCore::Int8Array::set):
1447         * html/canvas/Uint16Array.h:
1448         (WebCore::Uint16Array::set):
1449         * html/canvas/Uint32Array.h:
1450         (WebCore::Uint32Array::set):
1451         * html/canvas/Uint8Array.h:
1452         (WebCore::Uint8Array::set):
1453
1454 2011-01-25  Zoltan Herczeg  <zherczeg@webkit.org>
1455
1456         Reviewed by Dirk Schulze.
1457
1458         Repaint SVG elements with filter instead of relayout where possible
1459         https://bugs.webkit.org/show_bug.cgi?id=52200
1460
1461         This patch allows repainting of filters, when their
1462         attribute changes does not require relayout.
1463
1464         Existing dynamic-update tests cover this feature.
1465
1466         * platform/graphics/filters/FilterEffect.cpp:
1467         (WebCore::FilterEffect::clearResult): Clearing the currently stored image
1468         before repainting.
1469         * platform/graphics/filters/FilterEffect.h:
1470         * rendering/RenderObject.h:
1471         (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives,
1472         but filters should also be detected to allow safe testing and casting.
1473         * rendering/svg/RenderSVGResourceFilter.cpp:
1474         (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer.
1475         (WebCore::RenderSVGResourceFilter::applyResource):
1476         determineFilterPrimitiveSubregion does not require the filter anymore.
1477         (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint
1478         if lastEffect->hasResult() is false.
1479         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
1480         Searching for all FilterEffects, whose created by the current FilterElement,
1481         and clearing all resulting images depending on those FilterEffects.
1482         * rendering/svg/RenderSVGResourceFilter.h:
1483         (WebCore::RenderSVGResourceFilter::isSVGResourceFilter):
1484         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1485         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
1486         The filter argument is unnecessary anymore. But is is still kept as a static
1487         member, since the primitive renderer still does not know about the
1488         FilterEffect objects.
1489         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
1490         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
1491         (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged):
1492         Calls RenderSVGResourceFilter::primitiveAttributeChanged.
1493         * svg/SVGFEDiffuseLightingElement.cpp:
1494         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
1495         Setting the new attribute value for each FilterEffect.
1496         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
1497         * svg/SVGFEDiffuseLightingElement.h:
1498         Calling primitiveAttributeChanged.
1499         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1500         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
1501         This function will be removed when all FilterElement implements
1502         their setFilterEffectAttribute
1503         * svg/SVGFilterPrimitiveStandardAttributes.h:
1504         (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
1505         * svg/graphics/filters/SVGFilterBuilder.cpp:
1506         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The
1507         renderers are assigned to the filter effects.
1508         (WebCore::SVGFilterBuilder::clearEffects):
1509         (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively
1510         clearing the result images for those filters, whose depend on
1511         the starting filter.
1512         * svg/graphics/filters/SVGFilterBuilder.h:
1513         (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary
1514         (WebCore::SVGFilterBuilder::effectByRenderer): returns the
1515         FilterEffect belongs to this RenderObject.
1516
1517 2011-01-25  Dirk Schulze  <krit@webkit.org>
1518
1519         Reviewed by Nikolas Zimmermann.
1520
1521         SVG is missing to-animation support for Path
1522         https://bugs.webkit.org/show_bug.cgi?id=52982
1523
1524         SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete
1525         animation did not work and an assert was thrown, because of the missing m_fromPath.
1526         This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now.
1527
1528         Test: svg/animations/animate-path-to-animation.html
1529
1530         * svg/SVGAnimateElement.cpp:
1531         (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for
1532         m_fromPath, since 'to' animations are accumulative.
1533         (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations.
1534         (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal.
1535         * svg/SVGPathByteStream.h:
1536         (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream.
1537
1538 2011-01-25  Pavel Feldman  <pfeldman@chromium.org>
1539
1540         Reviewed by Yury Semikhatsky.
1541
1542         Web Inspector: bind resources to URLs upon adding them into the tree.
1543         https://bugs.webkit.org/show_bug.cgi?id=53013
1544
1545         * inspector/front-end/AuditRules.js:
1546         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1547         * inspector/front-end/CSSStyleModel.js:
1548         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
1549         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1550         * inspector/front-end/DebuggerModel.js:
1551         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1552         * inspector/front-end/NetworkManager.js:
1553         (WebInspector.NetworkManager.prototype._processCachedResources):
1554         (WebInspector.NetworkManager.prototype.inflightResourceForURL):
1555         (WebInspector.NetworkDispatcher):
1556         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
1557         (WebInspector.NetworkDispatcher.prototype.markResourceAsCached):
1558         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
1559         (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
1560         (WebInspector.NetworkDispatcher.prototype.didFinishLoading):
1561         (WebInspector.NetworkDispatcher.prototype.didFailLoading):
1562         (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest):
1563         (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
1564         (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
1565         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1566         (WebInspector.NetworkDispatcher.prototype._startResource):
1567         (WebInspector.NetworkDispatcher.prototype._finishResource):
1568         (WebInspector.NetworkDispatcher.prototype._createResource):
1569         * inspector/front-end/ResourceTreeModel.js:
1570         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
1571         (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
1572         (WebInspector.ResourceTreeModel.prototype._clearResources):
1573         (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
1574         * inspector/front-end/ResourcesPanel.js:
1575         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
1576         (WebInspector.ResourcesPanel.prototype.showSourceLine):
1577         * inspector/front-end/ScriptsPanel.js:
1578         (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
1579         (WebInspector.ScriptsPanel.prototype._addScript):
1580
1581 2011-01-25  Nikolas Zimmermann  <nzimmermann@rim.com>
1582
1583         Reviewed by Dirk Schulze.
1584
1585         Introduce FontMetrics abstraction
1586         https://bugs.webkit.org/show_bug.cgi?id=51456
1587
1588         Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer.
1589         This hopefully fixes differences between 32/64 bit bots.
1590
1591         Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards.
1592
1593         * platform/graphics/SimpleFontData.cpp:
1594         (WebCore::SimpleFontData::SimpleFontData):
1595         (WebCore::SimpleFontData::initCharWidths):
1596
1597 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
1598
1599         Reviewed by Pavel Feldman.
1600
1601         Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently.
1602         https://bugs.webkit.org/show_bug.cgi?id=52999
1603
1604         * inspector/Inspector.idl:
1605         * inspector/InspectorAgent.cpp:
1606         (WebCore::InspectorAgent::didCommitLoad):
1607         (WebCore::InspectorAgent::enableDebugger):
1608         (WebCore::InspectorAgent::inspectedURLWithoutFragment):
1609         * inspector/InspectorAgent.h:
1610         * inspector/InspectorBrowserDebuggerAgent.cpp:
1611         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
1612         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
1613         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
1614         * inspector/InspectorBrowserDebuggerAgent.h:
1615         * inspector/InspectorDebuggerAgent.cpp:
1616         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1617         (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints):
1618         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
1619         (WebCore::InspectorDebuggerAgent::restoreBreakpoints):
1620         * inspector/InspectorDebuggerAgent.h:
1621         * inspector/InspectorState.cpp:
1622         (WebCore::InspectorState::InspectorState):
1623         * inspector/InspectorState.h:
1624         * inspector/front-end/BreakpointManager.js:
1625         (WebInspector.BreakpointManager):
1626         (WebInspector.BreakpointManager.prototype._projectChanged):
1627         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
1628         (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend):
1629
1630 2011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1631
1632         Reviewed by Martin Robinson.
1633
1634         [GTK] Crash in some pages containing flash
1635         https://bugs.webkit.org/show_bug.cgi?id=53016
1636
1637         Flash plugin can produce X errors that are handled by the GDK X
1638         error handler, which exits the process. Since we don't want to
1639         crash due to flash bugs, we install a custom error handler to show
1640         a warning when a X error happens without aborting.
1641
1642         * plugins/gtk/PluginPackageGtk.cpp:
1643         (WebCore::webkitgtkXError):
1644         (WebCore::PluginPackage::load):
1645
1646 2011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1647
1648         Reviewed by Martin Robinson.
1649
1650         [GTK] Implement spin buttons in RenderThemeGtk
1651         https://bugs.webkit.org/show_bug.cgi?id=51454
1652
1653         Paint inner up/down buttons for spin button elements when building
1654         with GTK+ 3.x.
1655
1656         Test results will land with the GTK+ 2.x version of this patch.
1657
1658         * platform/gtk/RenderThemeGtk.h:
1659         * platform/gtk/RenderThemeGtk2.cpp:
1660         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
1661         (WebCore::RenderThemeGtk::paintInnerSpinButton):
1662         * platform/gtk/RenderThemeGtk3.cpp:
1663         (WebCore::spinButtonArrowSize):
1664         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
1665         (WebCore::paintSpinArrowButton):
1666         (WebCore::RenderThemeGtk::paintInnerSpinButton):
1667
1668 2011-01-24  Mihai Parparita  <mihaip@chromium.org>
1669
1670         Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block
1671         in r76575.
1672
1673         * loader/cache/CachedResource.cpp:
1674         (WebCore::CachedResource::~CachedResource):
1675
1676 2011-01-24  Mihai Parparita  <mihaip@chromium.org>
1677
1678         Reviewed by Tony Chang.
1679
1680         Add runtime checks for invariants in memory cache
1681         https://bugs.webkit.org/show_bug.cgi?id=53059
1682         
1683         To help track down bug 53045, add some CRASH calls in addition to
1684         ASSERTs, so that we can track down failures in reliability bots.
1685
1686         Just some checks, no new tests necessary.
1687         
1688         * css/CSSImageValue.cpp:
1689         (WebCore::CSSImageValue::cachedImage):
1690         * loader/cache/CachedResource.h:
1691         * loader/cache/CachedResource.cpp:
1692         (WebCore::CachedResource::~CachedResource):
1693
1694 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
1695
1696         Reviewed by Dan Bernstein.
1697
1698         Leaking CSSRuleDataList objects
1699         https://bugs.webkit.org/show_bug.cgi?id=53062
1700
1701         Fix leaked CSSRuleDataLists added to the m_pseudoRules hash.
1702
1703         * css/CSSStyleSelector.cpp:
1704         (WebCore::CSSRuleSet::~CSSRuleSet):
1705
1706 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
1707
1708         Reviewed by Eric Seidel.
1709
1710         Refcount Images used in rendering code
1711         https://bugs.webkit.org/show_bug.cgi?id=52701
1712
1713         Change StyleImage::image(RenderObject*, const IntSize&) and
1714         CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to
1715         return PassRefPtr<Image>, and adjust other code accordingly.
1716         
1717         This allows us to return one-time images, for example for CSS gradients
1718         whose appearance may change depending on factors other than the renderer
1719         and the destination size.
1720
1721         * css/CSSCanvasValue.cpp:
1722         (WebCore::CSSCanvasValue::image):
1723         * css/CSSCanvasValue.h:
1724         * css/CSSGradientValue.cpp:
1725         (WebCore::CSSGradientValue::image):
1726         * css/CSSGradientValue.h:
1727         * css/CSSImageGeneratorValue.h:
1728         * rendering/RenderBoxModelObject.cpp:
1729         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1730         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1731         * rendering/RenderImage.cpp:
1732         (WebCore::RenderImage::paintReplaced):
1733         (WebCore::RenderImage::paintIntoRect):
1734         * rendering/RenderImageResource.h:
1735         (WebCore::RenderImageResource::image):
1736         * rendering/RenderImageResourceStyleImage.h:
1737         (WebCore::RenderImageResourceStyleImage::image):
1738         * rendering/RenderListMarker.cpp:
1739         (WebCore::RenderListMarker::paint):
1740         * rendering/style/StyleCachedImage.cpp:
1741         (WebCore::StyleCachedImage::image):
1742         * rendering/style/StyleCachedImage.h:
1743         * rendering/style/StyleGeneratedImage.cpp:
1744         (WebCore::StyleGeneratedImage::image):
1745         * rendering/style/StyleGeneratedImage.h:
1746         * rendering/style/StyleImage.h:
1747         * rendering/style/StylePendingImage.h:
1748         (WebCore::StylePendingImage::image):
1749         * rendering/svg/RenderSVGImage.cpp:
1750         (WebCore::RenderSVGImage::paint):
1751
1752 2011-01-24  Tony Chang  <tony@chromium.org>
1753
1754         Unreviewed, round ascent and descent to match old code.
1755
1756         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1757         (WebCore::SimpleFontData::platformInit):
1758
1759 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
1760
1761         Reviewed by Chris Marrin.
1762
1763         perspective() transform function should take lengths
1764         https://bugs.webkit.org/show_bug.cgi?id=52683
1765         
1766         The argument to the perspective() transform function should
1767         be a Length, rather than a bare number. Bare numbers are still
1768         accepted (and treated as px), but this behavior is deprecated.
1769
1770         Test: animations/3d/transform-perspective.html
1771               transforms/3d/general/3dtransform-values.html
1772
1773         * css/CSSParser.cpp:
1774         (WebCore::CSSParser::parseTransform): Check the units for the perspective()
1775         function. Allow bare numbers for backwards compatibility.
1776         * css/CSSStyleSelector.cpp:
1777         (WebCore::CSSStyleSelector::createTransformOperations): Convert
1778         value to Length.
1779         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
1780         (WebCore::clampToPostiveInteger): Helper.
1781         (WebCore::PerspectiveTransformOperation::blend): Blend via Lengths.
1782         * platform/graphics/transforms/PerspectiveTransformOperation.h:
1783         (WebCore::PerspectiveTransformOperation::create): double -> Length.
1784         (WebCore::PerspectiveTransformOperation::perspective): Ditto.
1785         (WebCore::PerspectiveTransformOperation::isIdentity): Ditto.
1786         (WebCore::PerspectiveTransformOperation::apply): Ditto.
1787         (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): Assert
1788         that the Length is a fixed type.
1789
1790 2011-01-24  Kent Tamura  <tkent@chromium.org>
1791
1792         Reviewed by Dimitri Glazkov.
1793
1794         [Windows] Textfield <input>s have different widths.
1795         https://bugs.webkit.org/show_bug.cgi?id=48405
1796
1797         - Apply the padding override for type=text to other textfield types too.
1798         - Reset margin value of outer spin button, which is not used in Windows.
1799         - Don't add inner spin button width to the preferred text field width.
1800           Text fields should have the identical widths regardless of the
1801           existence of spin buttons.
1802
1803         Test: fast/forms/input-widths.html
1804
1805         * css/themeWin.css:
1806         (input[type="week"]):
1807         (input[type="week"]:disabled):
1808         (input[type="search"]::-webkit-search-cancel-button):
1809         (input::-webkit-outer-spin-button):
1810         * rendering/RenderTextControlSingleLine.cpp:
1811         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
1812         Don't add inner spin button width to the preferred width.
1813
1814 2011-01-24  Kent Tamura  <tkent@chromium.org>
1815
1816         Reviewed by Dimitri Glazkov.
1817
1818         Some bugs of search cancel button and spin button about state change in
1819         an event handler.
1820         https://bugs.webkit.org/show_bug.cgi?id=46950
1821
1822         Fix the following problems:
1823          * Type=search field didn't release event capturing
1824          * Assertion failure when an input field with spin buttons was changed
1825            to another type on focus event.
1826          * A input field with spin button didn't release event capturing when it
1827            was changed to another type on focus event.
1828
1829         Tests: fast/forms/input-number-change-type-on-focus.html
1830                fast/forms/search-hide-cancel-on-cancel.html
1831
1832         * rendering/TextControlInnerElements.cpp:
1833         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
1834          - Make the variable 'input' RefPtr.  It makes the code simpler.
1835          - Remove visibility check on mouseup event. We should release capturing
1836            anyway because the cancel button may be invisible if JavaScript code
1837            called by the focus event removes the input value.
1838         (WebCore::SpinButtonElement::detach):
1839          - Release capturing on detach because it is possible that a spin button
1840            node is detached while it is capturing events.
1841         (WebCore::SpinButtonElement::defaultEventHandler):
1842           Take a reference to this and check renderer() after some functions which
1843           may run JavaScript code.
1844         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
1845           Make the variable 'input' RefPtr to align other functions in this file.
1846         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto.
1847         * rendering/TextControlInnerElements.h: Declare SpinButtonElement::detach().
1848
1849 2011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
1850
1851         Reviewed by Ojan Vafai.
1852
1853         Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace.
1854         https://bugs.webkit.org/show_bug.cgi?id=52781
1855
1856         The bug was caused by stringWithRebalancedWhitespace's replacing the space at the beginning of a paragraph
1857         and the end of a paragraph by a non-breaking space after it replaced two consecutive spaces by a space and
1858         non-breaking space pattern, thereby replacing more spaces by non-breaking spaces than needed.
1859
1860         Rewrote the function using Vector<UChar> to fix the bug. New function no longer calls String::replace
1861         multiple times but instead it traverses through the string and replaces a space that immediately follows
1862         another space or appears at the beginning of a paragraph or at the end of a paragraph by a non-break space.
1863
1864         * editing/CompositeEditCommand.cpp:
1865         * editing/htmlediting.cpp:
1866         (WebCore::stringWithRebalancedWhitespace): Written.
1867         * editing/htmlediting.h:
1868         (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp
1869
1870 2011-01-24  Kenneth Russell  <kbr@google.com>
1871
1872         Reviewed by James Robinson.
1873
1874         Web Audio API: port FFTFrame to FFTW
1875         https://bugs.webkit.org/show_bug.cgi?id=52989
1876
1877         Ported FFTFrame class to the open-source FFTW library. Tested with
1878         unit tests from Chris Rogers. Made preliminary changes to GYP
1879         files for conditional compilation of these files; will need to be
1880         adjusted once FFTW is integrated as third-party source.
1881
1882         * WebCore.gyp/WebCore.gyp:
1883         * WebCore.gypi:
1884         * platform/audio/FFTFrame.h:
1885         * platform/audio/fftw: Added.
1886         * platform/audio/fftw/FFTFrameFFTW.cpp: Added.
1887         (WebCore::FFTFrame::FFTFrame):
1888         (WebCore::FFTFrame::~FFTFrame):
1889         (WebCore::FFTFrame::multiply):
1890         (WebCore::FFTFrame::doFFT):
1891         (WebCore::FFTFrame::doInverseFFT):
1892         (WebCore::FFTFrame::cleanup):
1893         (WebCore::FFTFrame::realData):
1894         (WebCore::FFTFrame::imagData):
1895         (WebCore::FFTFrame::fftwPlanForSize):
1896
1897 2011-01-24  Anders Carlsson  <andersca@apple.com>
1898
1899         Reviewed by Dan Bernstein.
1900
1901         Reset the page scale factor on standard frame loads
1902         https://bugs.webkit.org/show_bug.cgi?id=53058
1903         <rdar://problem/8908844>
1904
1905         Add a symbol needed by WebKit2.
1906
1907         * WebCore.exp.in:
1908
1909 2011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
1910
1911         Reviewed by Eric Seidel.
1912
1913         Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand,
1914         ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp
1915         https://bugs.webkit.org/show_bug.cgi?id=52676
1916
1917         Stop instantiating legacy editing positions in the following files.
1918
1919         * editing/InsertTextCommand.cpp:
1920         (WebCore::InsertTextCommand::prepareForTextInsertion):
1921         (WebCore::InsertTextCommand::performTrivialReplace):
1922         (WebCore::InsertTextCommand::input):
1923         (WebCore::InsertTextCommand::insertTab):
1924         * editing/MoveSelectionCommand.cpp:
1925         (WebCore::MoveSelectionCommand::doApply):
1926         * editing/ReplaceSelectionCommand.cpp:
1927         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
1928         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
1929         (WebCore::ReplaceSelectionCommand::doApply):
1930         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
1931         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
1932         * editing/SelectionController.cpp:
1933         (WebCore::SelectionController::setSelectionFromNone):
1934         * editing/SpellChecker.cpp:
1935         (WebCore::SpellChecker::didCheck):
1936         * editing/TypingCommand.cpp:
1937         (WebCore::TypingCommand::makeEditableRootEmpty):
1938         (WebCore::TypingCommand::deleteKeyPressed):
1939         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1940         * editing/markup.cpp:
1941         (WebCore::StyledMarkupAccumulator::appendText):
1942         (WebCore::StyledMarkupAccumulator::serializeNodes):
1943         (WebCore::highestAncestorToWrapMarkup):
1944         (WebCore::createMarkup):
1945
1946 2011-01-24  Peter Kasting  <pkasting@google.com>
1947
1948         Reviewed by Darin Adler.
1949
1950         Roll back r67261 ("Don't fire onclick on middle clicks") due to
1951         regressions.
1952         https://bugs.webkit.org/show_bug.cgi?id=46733
1953
1954         * html/HTMLAnchorElement.cpp:
1955         (WebCore::isLinkClick):
1956         * html/HTMLInputElement.cpp:
1957         (WebCore::HTMLInputElement::preDispatchEventHandler):
1958         (WebCore::HTMLInputElement::postDispatchEventHandler):
1959         (WebCore::HTMLInputElement::defaultEventHandler):
1960         * page/EventHandler.cpp:
1961         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1962         (WebCore::EventHandler::handleMouseReleaseEvent):
1963
1964 2011-01-24  Martin Robinson  <mrobinson@igalia.com>
1965
1966         Reviewed by Eric Seidel.
1967
1968         [GTK] Many DOM XHTML tests time out
1969         https://bugs.webkit.org/show_bug.cgi?id=52553
1970
1971         Properly handle the situation where a synchronous load fails before the inner
1972         event loop has started. In this case, we simply do not run the inner event loop,
1973         or else it will block indefinitely (since no GIO or libsoup callbacks will fire).
1974
1975         * platform/network/soup/ResourceHandleSoup.cpp:
1976         (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
1977         load if it fails up front.
1978
1979 2011-01-24  Zhenyao Mo  <zmo@google.com>
1980
1981         Reviewed by Eric Seidel.
1982
1983         Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext
1984         https://bugs.webkit.org/show_bug.cgi?id=52338
1985
1986         Removed the long/unsigned long types and corresponding get functions
1987         and use int/unsigned int instead.
1988
1989         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1990         (WebCore::toJS):
1991         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1992         (WebCore::toV8Object):
1993         * html/canvas/WebGLGetInfo.cpp:
1994         (WebCore::WebGLGetInfo::WebGLGetInfo):
1995         (WebCore::WebGLGetInfo::getInt):
1996         (WebCore::WebGLGetInfo::getUnsignedInt):
1997         * html/canvas/WebGLGetInfo.h:
1998         * html/canvas/WebGLRenderingContext.cpp:
1999         (WebCore::WebGLRenderingContext::getBufferParameter):
2000         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2001         (WebCore::WebGLRenderingContext::getParameter):
2002         (WebCore::WebGLRenderingContext::getProgramParameter):
2003         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2004         (WebCore::WebGLRenderingContext::getShaderParameter):
2005         (WebCore::WebGLRenderingContext::getTexParameter):
2006         (WebCore::WebGLRenderingContext::getUniform):
2007         (WebCore::WebGLRenderingContext::getVertexAttrib):
2008         (WebCore::WebGLRenderingContext::getIntParameter):
2009         (WebCore::WebGLRenderingContext::getUnsignedIntParameter):
2010         * html/canvas/WebGLRenderingContext.h:
2011
2012 2011-01-24  Zhenyao Mo  <zmo@google.com>
2013
2014         Reviewed by Darin Adler.
2015
2016         Remove sizeInBytes from GraphicsContext3D's various implementations
2017         https://bugs.webkit.org/show_bug.cgi?id=52339
2018
2019         * html/canvas/WebGLRenderingContext.cpp:
2020         (WebCore::WebGLRenderingContext::sizeInBytes):
2021         * platform/graphics/GraphicsContext3D.h:
2022         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2023         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2024
2025 2011-01-24  Adam Roben  <aroben@apple.com>
2026
2027         Windows Production build fix
2028
2029         * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.
2030
2031 2011-01-24  Anton Muhin  <antonm@chromium.org>
2032
2033         Reviewed by Nate Chapin.
2034
2035         [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
2036         https://bugs.webkit.org/show_bug.cgi?id=52911
2037
2038         Plain refactoring, covered by the existing tests.
2039
2040         * WebCore.gypi: IntrusiveDOMWrapperMap.h added.
2041         * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
2042         * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
2043         * bindings/v8/IntrusiveDOMWrapperMap.h: Added.
2044         (WebCore::ChunkedTable::ChunkedTable):
2045         (WebCore::ChunkedTable::add):
2046         (WebCore::ChunkedTable::remove):
2047         (WebCore::ChunkedTable::clear):
2048         (WebCore::ChunkedTable::visit):
2049         (WebCore::ChunkedTable::Chunk::Chunk):
2050         (WebCore::ChunkedTable::clearEntries):
2051         (WebCore::ChunkedTable::visitEntries):
2052         (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
2053         (WebCore::IntrusiveDOMWrapperMap::get):
2054         (WebCore::IntrusiveDOMWrapperMap::set):
2055         (WebCore::IntrusiveDOMWrapperMap::contains):
2056         (WebCore::IntrusiveDOMWrapperMap::visit):
2057         (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
2058         (WebCore::IntrusiveDOMWrapperMap::clear):
2059         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
2060         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
2061         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
2062         * bindings/v8/StaticDOMDataStore.h: include added.
2063
2064 2011-01-24  Shane Stephens  <shanestephens@google.com>
2065
2066         Reviewed by Chris Marrin.
2067
2068         TransformationMatrix multiply operations apply operands in wrong order.
2069         https://bugs.webkit.org/show_bug.cgi?id=52780
2070
2071         Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
2072         not a multLeft).
2073
2074         Remove TransformationMatrix::multiply, which was actually doing a multLeft.
2075
2076         Fix TransformationMatrix::operator* and operator*= such that the operand is
2077         applied to the right-hand side of the matrix that the method is called on.
2078         i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store
2079         "b * a" in "a".  This has now been fixed so "a * b" computes "a * b" and
2080         "a *= b" stores "a * b" in "a".
2081
2082         Convert all call sites for these methods to provide operands in the correct order.
2083
2084         No new tests as patch adds no new functionality.
2085
2086         * css/WebKitCSSMatrix.cpp:
2087         (WebCore::WebKitCSSMatrix::multiply):
2088         * platform/graphics/transforms/Matrix3DTransformOperation.h:
2089         (WebCore::Matrix3DTransformOperation::apply):
2090         * platform/graphics/transforms/MatrixTransformOperation.h:
2091         (WebCore::MatrixTransformOperation::apply):
2092         * platform/graphics/transforms/TransformationMatrix.cpp:
2093         (WebCore::TransformationMatrix::scaleNonUniform):
2094         (WebCore::TransformationMatrix::scale3d):
2095         (WebCore::TransformationMatrix::rotate3d):
2096         (WebCore::TransformationMatrix::skew):
2097         (WebCore::TransformationMatrix::applyPerspective):
2098         (WebCore::TransformationMatrix::multiply):
2099         (WebCore::TransformationMatrix::recompose):
2100         * platform/graphics/transforms/TransformationMatrix.h:
2101         (WebCore::TransformationMatrix::operator*=):
2102         (WebCore::TransformationMatrix::operator*):
2103         * rendering/RenderLayer.cpp:
2104         (WebCore::transparencyClipBox):
2105         * rendering/RenderObject.cpp:
2106         (WebCore::RenderObject::getTransformFromContainer):
2107         * rendering/TransformState.cpp:
2108         (WebCore::TransformState::applyTransform):
2109         (WebCore::HitTestingTransformState::applyTransform):
2110
2111 2011-01-24  Andrei Popescu  <andreip@google.com>
2112
2113         Reviewed by Nate Chapin.
2114
2115         IndexedDatabase methods should not take arguments of type OptionsObject
2116         https://bugs.webkit.org/show_bug.cgi?id=53012
2117
2118         This patch reverts all IDB methods, except IDBDatabase::createObjectStore and
2119         IDBObjectStore::createIndex, to using a plain list of arguments instead of
2120         grouping the various parameters inside a single OptionsObject argument.
2121         This decision was made on public-webapps@w3.org mailing list.
2122
2123         We also add support (v8 only for now) for passing DOMStringList objects as arguments to native
2124         methods. The code for obtaining a DOMStringList object from a JS array of strings existed already
2125         in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to
2126         use it.
2127
2128         * bindings/scripts/CodeGeneratorV8.pm:
2129         * bindings/v8/V8Binding.cpp:
2130         (WebCore::v8ValueToWebCoreDOMStringList):
2131         * bindings/v8/V8Binding.h:
2132         * storage/IDBDatabase.cpp:
2133         (WebCore::IDBDatabase::transaction):
2134         * storage/IDBDatabase.h:
2135         (WebCore::IDBDatabase::transaction):
2136         * storage/IDBDatabase.idl:
2137         * storage/IDBIndex.cpp:
2138         (WebCore::IDBIndex::openCursor):
2139         (WebCore::IDBIndex::openKeyCursor):
2140         * storage/IDBIndex.h:
2141         (WebCore::IDBIndex::openCursor):
2142         (WebCore::IDBIndex::openKeyCursor):
2143         * storage/IDBIndex.idl:
2144         * storage/IDBObjectStore.cpp:
2145         (WebCore::IDBObjectStore::openCursor):
2146         * storage/IDBObjectStore.h:
2147         (WebCore::IDBObjectStore::openCursor):
2148         * storage/IDBObjectStore.idl:
2149
2150 2011-01-24  Pavel Feldman  <pfeldman@chromium.org>
2151
2152         Reviewed by Yury Semikhatsky.
2153
2154         Web Inspector: extract dispatch API from network manager.
2155         https://bugs.webkit.org/show_bug.cgi?id=53009
2156
2157         * WebCore.xcodeproj/project.pbxproj:
2158         * inspector/front-end/NetworkManager.js:
2159         (WebInspector.NetworkManager):
2160         (WebInspector.NetworkManager.prototype.reset):
2161         (WebInspector.NetworkManager.prototype.requestContent):
2162         (WebInspector.NetworkManager.prototype._processCachedResources):
2163         (WebInspector.NetworkDispatcher):
2164         (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
2165         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
2166         (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
2167         (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest):
2168         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
2169         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
2170         (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
2171         (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
2172         (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
2173         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
2174         (WebInspector.NetworkDispatcher.prototype._startResource):
2175         (WebInspector.NetworkDispatcher.prototype._updateResource):
2176         (WebInspector.NetworkDispatcher.prototype._finishResource):
2177         (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
2178         (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
2179         (WebInspector.NetworkDispatcher.prototype._createResource):
2180         * inspector/front-end/Resource.js:
2181         (WebInspector.Resource.prototype._innerRequestContent):
2182         * inspector/front-end/ResourceTreeModel.js:
2183         (WebInspector.ResourceTreeModel):
2184         (WebInspector.ResourceTreeModel.prototype.reset):
2185         (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
2186
2187 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
2188
2189         Reviewed by Pavel Feldman.
2190
2191         Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
2192         https://bugs.webkit.org/show_bug.cgi?id=53007
2193
2194         It's impossible to create "provisional" inspector for pages which are
2195         not yet created so there is no need to listen for page creation in ScriptDebugServer.
2196
2197         * bindings/js/ScriptDebugServer.cpp:
2198         * bindings/js/ScriptDebugServer.h:
2199         * page/Page.cpp:
2200         (WebCore::Page::Page):
2201
2202 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2203
2204         Reviewed by Pavel Feldman.
2205
2206         Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
2207         https://bugs.webkit.org/show_bug.cgi?id=53002
2208
2209
2210         * inspector/front-end/ApplicationCacheItemsView.js:
2211         (WebInspector.ApplicationCacheItemsView.prototype._update):
2212         * inspector/front-end/DOMAgent.js:
2213         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
2214
2215 2011-01-24  Andreas Kling  <kling@webkit.org>
2216
2217         Reviewed by Kenneth Rohde Christiansen.
2218
2219         [Qt] Fix warnings about unregistering an invalid timer
2220         https://bugs.webkit.org/show_bug.cgi?id=53006
2221
2222         The ShadowBuffer's purge timer ID was initialized with 0 which lead
2223         to us calling QObject::killTimer(0), causing some qWarnings.
2224
2225         * platform/graphics/qt/ContextShadowQt.cpp:
2226         (WebCore::ShadowBuffer::ShadowBuffer):
2227         (WebCore::ShadowBuffer::schedulePurge):
2228
2229 2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
2230
2231         Reviewed by Pavel Feldman.
2232
2233         Web Inspector: [Chromium] Fix heap snapshot table sorting.
2234
2235         Fix table sorting to avoid qsort instability artefacts.
2236
2237         https://bugs.webkit.org/show_bug.cgi?id=52914
2238
2239         * inspector/front-end/HeapSnapshotView.js:
2240         (WebInspector.HeapSnapshotView.prototype._sortData):
2241         (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
2242         (WebInspector.HeapSnapshotDataGridList.propertyComparator):
2243
2244 2011-01-24  Mikhail Naganov  <mnaganov@chromium.org>
2245
2246         Reviewed by Yury Semikhatsky.
2247
2248         Web Inspector: Find duplicate strings in localizedStrings.js, update it.
2249
2250         https://bugs.webkit.org/show_bug.cgi?id=53005
2251
2252         * English.lproj/localizedStrings.js:
2253
2254 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2255
2256         Unreviewed, build fix  for r76509.
2257
2258         * inspector/InspectorDebuggerAgent.cpp:
2259         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2260
2261 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2262
2263         Unreviewed, build fix  for r76509.
2264
2265         * bindings/js/ScriptDebugServer.h:
2266
2267 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2268
2269         Reviewed by Yury Semikhatsky.
2270
2271         Web Inspector: set breakpoints by line:column.
2272         https://bugs.webkit.org/show_bug.cgi?id=52615
2273
2274         * CMakeLists.txt:
2275         * GNUmakefile.am:
2276         * WebCore.gypi:
2277         * WebCore.pro:
2278         * WebCore.vcproj/WebCore.vcproj:
2279         * WebCore.xcodeproj/project.pbxproj:
2280         * bindings/js/ScriptDebugServer.cpp:
2281         (WebCore::ScriptDebugServer::setBreakpoint):
2282         (WebCore::ScriptDebugServer::removeBreakpoint):
2283         (WebCore::ScriptDebugServer::hasBreakpoint):
2284         (WebCore::ScriptDebugServer::clearBreakpoints):
2285         * bindings/js/ScriptDebugServer.h:
2286         * bindings/v8/DebuggerScript.js:
2287         ():
2288         * bindings/v8/ScriptDebugServer.cpp:
2289         (WebCore::ScriptDebugServer::setBreakpoint):
2290         * bindings/v8/ScriptDebugServer.h:
2291         * inspector/Inspector.idl:
2292         * inspector/InspectorBrowserDebuggerAgent.cpp:
2293         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
2294         * inspector/InspectorDebuggerAgent.cpp:
2295         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
2296         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2297         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
2298         (WebCore::InspectorDebuggerAgent::didParseSource):
2299         * inspector/InspectorDebuggerAgent.h:
2300         * inspector/ScriptBreakpoint.cpp: Removed.
2301         * inspector/ScriptBreakpoint.h:
2302         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
2303         * inspector/front-end/Breakpoint.js:
2304         (WebInspector.Breakpoint):
2305         (WebInspector.Breakpoint.prototype.get url):
2306         * inspector/front-end/BreakpointManager.js:
2307         (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
2308         * inspector/front-end/DebuggerModel.js:
2309         (WebInspector.DebuggerModel.prototype.continueToLine):
2310         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2311         (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
2312         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
2313
2314 2011-01-24  Peter Beverloo  <peter@chromium.org>
2315
2316         Reviewed by Pavel Feldman.
2317
2318         Web Inspector: recognize application/x-font-woff as a valid mime-type.
2319         https://bugs.webkit.org/show_bug.cgi?id=52977
2320
2321         No new tests.
2322
2323         * inspector/front-end/inspector.js:
2324
2325 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2326
2327         Unreviewed, fix for r76497.
2328
2329         * inspector/front-end/ResourcesPanel.js:
2330         (WebInspector.ResourcesPanel.prototype.show):
2331
2332 2011-01-24  Andreas Kling  <kling@webkit.org>
2333
2334         Reviewed by Tor Arne Vestbø.
2335
2336         [Qt] Use rad2deg() from WTF instead of rolling our own.
2337         https://bugs.webkit.org/show_bug.cgi?id=52993
2338
2339         * platform/graphics/qt/GraphicsContextQt.cpp:
2340         (WebCore::GraphicsContext::rotate):
2341         * platform/graphics/qt/PathQt.cpp:
2342         (WebCore::Path::addArc):
2343
2344 2011-01-24  Sergio Villar Senin  <svillar@igalia.com>
2345
2346         Reviewed by Martin Robinson.
2347
2348         [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
2349         https://bugs.webkit.org/show_bug.cgi?id=52885
2350
2351         No new tests as it does not change functionality. We will not wait for
2352         the the input stream to close to issue didFinishLoading to
2353         WebCore. We expect a subtle performance improvement with this
2354         patch when loading complex web pages, as we wouldn't have to wait
2355         for the stream to close (which involves creating a thread among
2356         other things).
2357
2358         * platform/network/soup/ResourceHandleSoup.cpp:
2359         (WebCore::closeCallback):
2360         (WebCore::readCallback):
2361
2362 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
2363
2364         Reviewed by Pavel Feldman.
2365
2366         Web Inspector: eliminate SourceView and ScriptView classes.
2367         https://bugs.webkit.org/show_bug.cgi?id=52896
2368
2369         SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.
2370
2371         * WebCore.gypi:
2372         * WebCore.vcproj/WebCore.vcproj:
2373         * inspector/front-end/GoToLineDialog.js:
2374         (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
2375         * inspector/front-end/ResourceView.js:
2376         (WebInspector.ResourceView.createResourceView):
2377         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
2378         (WebInspector.SourceFrameContentProviderForResource):  Moved from SourceView.
2379         * inspector/front-end/ResourcesPanel.js:
2380         (WebInspector.ResourcesPanel.prototype.show):
2381         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
2382         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
2383         * inspector/front-end/ScriptView.js: Removed.
2384         * inspector/front-end/ScriptsPanel.js:
2385         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
2386         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
2387         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2388         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
2389         (WebInspector.ScriptsPanel.prototype._formatScript):
2390         (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView.
2391         * inspector/front-end/SourceFrame.js:
2392         (WebInspector.SourceFrame):
2393         (WebInspector.SourceFrame.prototype.show):
2394         (WebInspector.SourceFrame.prototype.hide):
2395         (WebInspector.SourceFrame.prototype.hasContent):
2396         (WebInspector.SourceFrame.prototype._createTextViewer):
2397         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
2398         (WebInspector.SourceFrame.prototype.performSearch):
2399         * inspector/front-end/SourceView.js: Removed.
2400         * inspector/front-end/WebKit.qrc:
2401         * inspector/front-end/inspector.html:
2402
2403 2011-01-24  Andras Becsi  <abecsi@webkit.org>
2404
2405         Reviewed by Csaba Osztrogonác.
2406
2407         [Qt] Move project files into Source
2408         https://bugs.webkit.org/show_bug.cgi?id=52891
2409
2410         No new tests needed.
2411
2412         * WebCore.pri:
2413         * WebCore.pro:
2414
2415 2011-01-24  Kent Tamura  <tkent@chromium.org>
2416
2417         Unreviewed, trivial fix.
2418
2419         Fix a Chromium-only assertion failure by r76491.
2420         https://bugs.webkit.org/show_bug.cgi?id=38982
2421
2422         Separate icon loading from the FileChooser constructor in order to avoid
2423         ref() before adoptRef().
2424
2425         * platform/FileChooser.cpp:
2426         (WebCore::FileChooser::FileChooser):
2427         (WebCore::FileChooser::initialize):
2428         (WebCore::FileChooser::create):
2429         * platform/FileChooser.h:
2430
2431 2011-01-24  MORITA Hajime  <morrita@google.com>
2432
2433         Reviewed by Kent Tamura.
2434
2435         TextControlInnerElement::m_shadowParent should be removed.
2436         https://bugs.webkit.org/show_bug.cgi?id=52998
2437
2438         No new tests. No behavioral change.
2439
2440         * rendering/TextControlInnerElements.cpp:
2441         (WebCore::TextControlInnerElement::TextControlInnerElement):
2442         * rendering/TextControlInnerElements.h:
2443
2444 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
2445
2446         Reviewed by Pavel Feldman.
2447
2448         REGRESSION (r72895): console.trace crashes
2449         https://bugs.webkit.org/show_bug.cgi?id=52981
2450
2451         - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
2452         non-null value.
2453         - Use PassRefPtr for objects whos ownership is passed to the inspector.
2454
2455         * GNUmakefile.am:
2456         * WebCore.gypi:
2457         * WebCore.pro:
2458         * WebCore.vcproj/WebCore.vcproj:
2459         * WebCore.xcodeproj/project.pbxproj:
2460         * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their
2461         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
2462         (WebCore::InspectorInstrumentation::addMessageToConsole):
2463         (WebCore::InspectorInstrumentation::consoleCount):
2464         (WebCore::InspectorInstrumentation::startConsoleTiming):
2465         (WebCore::InspectorInstrumentation::stopConsoleTiming):
2466         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
2467         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
2468         (WebCore::InspectorInstrumentation::addProfile):
2469         (WebCore::InspectorInstrumentation::profilerEnabled):
2470         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
2471         * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their
2472         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
2473         (WebCore::InspectorInstrumentation::didOpenDatabase):
2474         * inspector/InspectorInstrumentation.cpp:
2475         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
2476         (WebCore::InspectorInstrumentation::consoleCountImpl):
2477         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
2478         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
2479         (WebCore::InspectorInstrumentation::addProfileImpl):
2480         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
2481         * inspector/InspectorInstrumentation.h:
2482         * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly.
2483         (WebCore::Console::addMessage):
2484         (WebCore::Console::trace):
2485         (WebCore::Console::count):
2486         (WebCore::Console::markTimeline):
2487         (WebCore::Console::profileEnd):
2488         (WebCore::Console::timeEnd):
2489         (WebCore::Console::group):
2490         (WebCore::Console::groupCollapsed):
2491         * storage/Database.cpp:
2492         (WebCore::Database::openDatabase):
2493
2494 2010-01-24  Kent Tamura  <tkent@chromium.org>
2495
2496         Reviewed by Darin Fisher.
2497
2498         [Chromium] Support icon loading for <input type=file>
2499         https://bugs.webkit.org/show_bug.cgi?id=38982
2500
2501         An icon data in Chromium port is represented as WebCore::Image. We
2502         don't need OS-specific code anymore.
2503
2504         * WebCore.gypi:
2505         * platform/graphics/Icon.h:
2506         (WebCore::Icon::create): Add Chromium-specific factory.
2507         * platform/graphics/chromium/IconChromium.cpp: Added.
2508         * platform/graphics/chromium/IconChromiumLinux.cpp: Removed.
2509         * platform/graphics/chromium/IconChromiumMac.cpp: Removed.
2510         * platform/graphics/chromium/IconChromiumWin.cpp: Removed.
2511         * platform/graphics/chromium/PlatformIcon.h:
2512
2513 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
2514
2515         Reviewed by Pavel Feldman.
2516
2517         Web Inspector: move search functions from SourceView to SourceFrame.
2518         https://bugs.webkit.org/show_bug.cgi?id=52895
2519
2520         This is the last step before eliminating SourceView and ScriptView since
2521         this classes just delegate everything to SourceFrame.
2522
2523         * inspector/front-end/SourceFrame.js:
2524         (WebInspector.SourceFrame.prototype.set visible):
2525         (WebInspector.SourceFrame.prototype._clearLineHighlight):
2526         (WebInspector.SourceFrame.prototype._createTextViewer):
2527         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
2528         (WebInspector.SourceFrame.prototype.performSearch):
2529         (WebInspector.SourceFrame.prototype.searchCanceled):
2530         (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
2531         (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
2532         (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
2533         (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
2534         (WebInspector.SourceFrame.prototype.showingFirstSearchResult):
2535         (WebInspector.SourceFrame.prototype.showingLastSearchResult):
2536         (WebInspector.SourceFrame.prototype._jumpToSearchResult):
2537         * inspector/front-end/SourceView.js:
2538         (WebInspector.SourceView.prototype.hide):
2539         (WebInspector.SourceView.prototype.searchCanceled):
2540         (WebInspector.SourceView.prototype.performSearch):
2541         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
2542         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
2543         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
2544         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
2545         (WebInspector.SourceView.prototype.showingFirstSearchResult):
2546         (WebInspector.SourceView.prototype.showingLastSearchResult):
2547         (WebInspector.SourceView.prototype.clearMessages):
2548
2549 2011-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
2550
2551         Unreviewed, rolling out r76463.
2552         http://trac.webkit.org/changeset/76463
2553         https://bugs.webkit.org/show_bug.cgi?id=52993
2554
2555         It broke canvas/philip/tests/2d.path.stroke.skew.html
2556         (Requested by Ossy on #webkit).
2557
2558         * platform/graphics/qt/GraphicsContextQt.cpp:
2559         (WebCore::GraphicsContext::rotate):
2560         * platform/graphics/qt/PathQt.cpp:
2561         (WebCore::Path::addArc):
2562
2563 2011-01-23  Andrey Kosyakov  <caseq@chromium.org>
2564
2565         Reviewed by Pavel Feldman.
2566
2567         Web Inspector: summary bar is not resized properly with the rest of network panel
2568         https://bugs.webkit.org/show_bug.cgi?id=52881
2569
2570         * inspector/front-end/NetworkPanel.js:
2571         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
2572         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
2573         (WebInspector.NetworkPanel.prototype._toggleGridMode):
2574
2575 2011-01-19  MORITA Hajime  <morrita@google.com>
2576
2577         Reviewed by Ryosuke Niwa.
2578
2579         Space and tab characters "sent" by an input method give totally different results than typing them directly
2580         https://bugs.webkit.org/show_bug.cgi?id=5241
2581         
2582         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
2583           distinguish text input which is originated by composition.
2584         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
2585           range of string on text node, instead of surrounding part of that.
2586
2587         Test: editing/inserting/insert-composition-whitespace.html
2588
2589         * dom/TextEvent.h:
2590         (WebCore::TextEvent::isComposition):
2591         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
2592         * editing/CompositeEditCommand.cpp:
2593         (WebCore::containsOnlyWhitespace):
2594         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
2595         (WebCore::CompositeEditCommand::canRebalance):
2596         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
2597         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
2598         * editing/CompositeEditCommand.h:
2599         * editing/Editor.cpp:
2600         (WebCore::Editor::insertTextForConfirmedComposition): Added.
2601         (WebCore::Editor::insertTextWithoutSendingTextEvent):
2602         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
2603         (WebCore::Editor::setComposition):
2604         * editing/Editor.h:
2605         * editing/InsertTextCommand.cpp:
2606         (WebCore::InsertTextCommand::input):
2607         * editing/InsertTextCommand.h:
2608         * editing/TypingCommand.cpp:
2609         (WebCore::TypingCommand::TypingCommand):
2610         (WebCore::TypingCommand::insertText):
2611         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
2612         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
2613         (WebCore::TypingCommand::setCompositionType): Added.
2614         (WebCore::TypingCommand::create):
2615
2616 2011-01-23  Mark Rowe  <mrowe@apple.com>
2617
2618         Follow-up to r76477.
2619
2620         Fix the scripts that detect problematic code such as static initializers
2621         and destructors, weak vtables, inappropriate files in the framework wrappers,
2622         and public headers including private headers. These had all been broken
2623         since the projects were moved in to the Source directory as the paths to the
2624         scripts were not updated at that time.
2625
2626         Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.
2627
2628         * WebCore.xcodeproj/project.pbxproj:
2629
2630 2011-01-23  Mark Rowe  <mrowe@apple.com>
2631
2632         Build fix after r76459.
2633
2634         Static member variables or globals of types that have constructors or destructors are bad as
2635         they generate static initializers and destructors. This is code that is run either at link time
2636         when the library is loaded in to memory or at application termination time. Both of these are
2637         terrible for performance and are thus outlawed in WebKit code.
2638
2639         The typical solution is to replace the static member or global with a function that allocates
2640         the necessary variable on the heap. The variable is leaked to prevent it from being destroyed
2641         at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little
2642         package, but sadly fails to work in this case due to the type containing multiple template
2643         parameters.
2644         
2645         * inspector/InspectorInstrumentation.cpp:
2646         (WebCore::InspectorInstrumentation::inspectorAgents):
2647         * inspector/InspectorInstrumentation.h:
2648         (WebCore::InspectorInstrumentation::bindInspectorAgent):
2649         (WebCore::InspectorInstrumentation::unbindInspectorAgent):
2650         (WebCore::InspectorInstrumentation::inspectorAgentForPage):
2651
2652 2011-01-21  Vangelis Kokkevis  <vangelis@chromium.org>
2653
2654         Reviewed by Kenneth Russell.
2655
2656         [chromium] Add support for -webkit-mask properties to the
2657         accelerated compositing path.
2658         https://bugs.webkit.org/show_bug.cgi?id=49780
2659          
2660         Tests: Existing tests in LayoutTests/compositing/masks
2661
2662         * platform/graphics/chromium/ContentLayerChromium.cpp:
2663         (WebCore::ContentLayerChromium::draw):
2664         (WebCore::ContentLayerChromium::unreserveContentsTexture):
2665         (WebCore::ContentLayerChromium::bindContentsTexture):
2666         * platform/graphics/chromium/ContentLayerChromium.h:
2667         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2668         (WebCore::GraphicsLayerChromium::setMaskLayer):
2669         * platform/graphics/chromium/GraphicsLayerChromium.h:
2670         * platform/graphics/chromium/LayerChromium.cpp:
2671         (WebCore::LayerChromium::LayerChromium):
2672         * platform/graphics/chromium/LayerChromium.h:
2673         (WebCore::LayerChromium::setMaskLayer):
2674         (WebCore::LayerChromium::maskLayer):
2675         (WebCore::LayerChromium::unreserveContentsTexture):
2676         (WebCore::LayerChromium::bindContentsTexture):
2677         * platform/graphics/chromium/LayerRendererChromium.cpp:
2678         (WebCore::LayerRendererChromium::updateLayersRecursive):
2679         * platform/graphics/chromium/LayerTexture.cpp:
2680         (WebCore::LayerTexture::bindTexture):
2681         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2682         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
2683         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
2684         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
2685         (WebCore::RenderSurfaceChromium::draw):
2686         * platform/graphics/chromium/RenderSurfaceChromium.h:
2687         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram):
2688         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation):
2689         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation):
2690         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation):
2691         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation):
2692
2693 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
2694
2695         Reviewed by Darin Adler.
2696
2697         Use WTF::StringHasher in WebCore
2698         https://bugs.webkit.org/show_bug.cgi?id=52934
2699
2700         * loader/appcache/ApplicationCacheStorage.cpp:
2701         (WebCore::urlHostHash):
2702         * platform/LinkHash.cpp:
2703         (WebCore::visitedLinkHashInline):
2704         * platform/cf/BinaryPropertyList.cpp:
2705         (WebCore::IntegerArrayHash::hash):
2706         * platform/graphics/wx/FontPlatformDataWx.cpp:
2707         (WebCore::FontPlatformData::computeHash):
2708         * platform/network/ProtectionSpaceHash.h:
2709         (WebCore::ProtectionSpaceHash::hash):
2710
2711 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
2712
2713         Reviewed by David Kilzer.
2714
2715         Add an overload to base64Encode with String output
2716         https://bugs.webkit.org/show_bug.cgi?id=50122
2717
2718         This change removes duplicated code.
2719
2720         * inspector/InspectorResourceAgent.cpp:
2721         (WebCore::InspectorResourceAgent::resourceContentBase64):
2722         * page/DOMWindow.cpp:
2723         (WebCore::DOMWindow::btoa):
2724         * platform/graphics/skia/FontCustomPlatformData.cpp:
2725         (WebCore::createUniqueFontName):
2726         * platform/graphics/win/FontCustomPlatformData.cpp:
2727         (WebCore::createUniqueFontName):
2728         * platform/graphics/wince/FontCustomPlatformData.cpp:
2729         (WebCore::createUniqueFontName):
2730         * platform/network/cf/ResourceHandleCFNet.cpp:
2731         (WebCore::encodeBasicAuthorization):
2732         * platform/network/mac/ResourceHandleMac.mm:
2733         (WebCore::encodeBasicAuthorization):
2734         * platform/text/Base64.cpp:
2735         (WebCore::base64Encode):
2736         * platform/text/Base64.h:
2737         (WebCore::base64Encode):
2738         * platform/wince/KeygenWinCE.cpp:
2739         (WebCore::WebCore::signedPublicKeyAndChallengeString):
2740
2741 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
2742
2743         Reviewed by David Kilzer.
2744
2745         Add String::containsOnlyLatin1()
2746         https://bugs.webkit.org/show_bug.cgi?id=52979
2747
2748         Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().
2749
2750         * page/DOMWindow.cpp:
2751         (WebCore::DOMWindow::btoa):
2752         (WebCore::DOMWindow::atob):
2753
2754 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
2755
2756         Reviewed by Andreas Kling.
2757
2758         [CMake] Add missing CodeGenerator dependencies
2759         https://bugs.webkit.org/show_bug.cgi?id=52976
2760
2761         * CMakeLists.txt:
2762
2763 2011-01-23  Yael Aharon  <yael.aharon@nokia.com>
2764
2765         Reviewed by Kenneth Rohde Christiansen.
2766
2767         [Qt][Symbian] Fix --minimal build
2768         https://bugs.webkit.org/show_bug.cgi?id=52839
2769
2770         Some of the plugins' functionality is reimplemented in
2771         Symbian specific files.
2772         Some of this functionality should be compiled in even if 
2773         the guard NETSCAPE_PLUGIN_API is turned off.
2774         This patch moves that functionality out of the
2775         NETSCAPE_PLUGIN_API guard.
2776
2777         Build fix so no new tests.
2778
2779         * WebCore.pro:
2780         * plugins/symbian/PluginPackageSymbian.cpp:
2781
2782 2011-01-23  Andreas Kling  <kling@webkit.org>
2783
2784         Reviewed by Tor Arne Vestbø.
2785
2786         [Qt] Use rad2deg() from WTF instead of rolling our own.
2787
2788         * platform/graphics/qt/GraphicsContextQt.cpp:
2789         (WebCore::GraphicsContext::rotate):
2790         * platform/graphics/qt/PathQt.cpp:
2791         (WebCore::Path::addArc):
2792
2793 2011-01-23  Kenneth Rohde Christiansen <kenneth@webkit.org>
2794
2795         Reviewed by Andreas Kling.
2796
2797         Viewport meta: Always adjust device dimensions to the device pixel ratio.
2798
2799         * dom/ViewportArguments.cpp:
2800         (WebCore::computeViewportAttributes):
2801
2802 2011-01-23  Andreas Kling  <kling@webkit.org>
2803
2804         Reviewed by Kenneth Rohde Christiansen.
2805
2806         Don't scale absolute geometry specified by viewport meta tag.
2807
2808         * dom/ViewportArguments.cpp:
2809         (WebCore::computeViewportAttributes):
2810
2811 2011-01-23  Ilya Tikhonovsky  <loislo@chromium.org>
2812
2813         Unreviewed build fix.
2814
2815         Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.
2816
2817         Touch Inspector.idl.
2818
2819         * inspector/Inspector.idl:
2820
2821 2011-01-22  Ilya Tikhonovsky  <loislo@chromium.org>
2822
2823         Reviewed by Pavel Feldman.
2824
2825         Web Inspector: next step in splitting InspectorController.
2826
2827         Splitting InspectorController is a bit tricky process.
2828
2829         As a first step I'll do the next things:
2830         1) rename existing InspectorController to InspectorAgent;
2831         2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation;
2832         3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit;
2833
2834         The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.
2835
2836         As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.
2837
2838         https://bugs.webkit.org/show_bug.cgi?id=52955
2839
2840         * CMakeLists.txt:
2841         * GNUmakefile.am:
2842         * WebCore.exp.in:
2843         * WebCore.gypi:
2844         * WebCore.pro:
2845         * WebCore.vcproj/WebCore.vcproj:
2846         * WebCore.xcodeproj/project.pbxproj:
2847         * bindings/js/JSInjectedScriptHostCustom.cpp:
2848         (WebCore::JSInjectedScriptHost::nodeForId):
2849         (WebCore::JSInjectedScriptHost::selectDOMStorage):
2850         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2851         (WebCore::V8InjectedScriptHost::nodeForIdCallback):
2852         * inspector/CodeGeneratorInspector.pm:
2853         * inspector/InjectedScriptHost.cpp:
2854         (WebCore::InjectedScriptHost::InjectedScriptHost):
2855         (WebCore::InjectedScriptHost::clearConsoleMessages):
2856         (WebCore::InjectedScriptHost::databaseForId):
2857         (WebCore::InjectedScriptHost::selectDatabase):
2858         (WebCore::InjectedScriptHost::selectDOMStorage):
2859         (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
2860         (WebCore::InjectedScriptHost::inspectorDOMAgent):
2861         (WebCore::InjectedScriptHost::frontend):
2862         (WebCore::InjectedScriptHost::didCreateWorker):
2863         (WebCore::InjectedScriptHost::didDestroyWorker):
2864         * inspector/InjectedScriptHost.h:
2865         (WebCore::InjectedScriptHost::create):
2866         (WebCore::InjectedScriptHost::inspectorAgent):
2867         (WebCore::InjectedScriptHost::disconnectController):
2868         * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp.
2869         (WebCore::InspectorAgent::InspectorAgent):
2870         (WebCore::InspectorAgent::~InspectorAgent):
2871         (WebCore::InspectorAgent::inspectedPageDestroyed):
2872         (WebCore::InspectorAgent::enabled):
2873         (WebCore::InspectorAgent::inspectorStartsAttached):
2874         (WebCore::InspectorAgent::setInspectorStartsAttached):
2875         (WebCore::InspectorAgent::setInspectorAttachedHeight):
2876         (WebCore::InspectorAgent::inspectorAttachedHeight):
2877         (WebCore::InspectorAgent::searchingForNodeInPage):
2878         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
2879         (WebCore::InspectorAgent::inspect):
2880         (WebCore::InspectorAgent::focusNode):
2881         (WebCore::InspectorAgent::highlight):
2882         (WebCore::InspectorAgent::highlightDOMNode):
2883         (WebCore::InspectorAgent::highlightFrame):
2884         (WebCore::InspectorAgent::hideHighlight):
2885         (WebCore::InspectorAgent::mouseDidMoveOverElement):
2886         (WebCore::InspectorAgent::handleMousePress):
2887         (WebCore::InspectorAgent::setInspectorFrontendClient):
2888         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2889         (WebCore::InspectorAgent::setSearchingForNode):
2890         (WebCore::InspectorAgent::connectFrontend):
2891         (WebCore::InspectorAgent::show):
2892         (WebCore::InspectorAgent::showPanel):
2893         (WebCore::InspectorAgent::close):
2894         (WebCore::InspectorAgent::disconnectFrontend):
2895         (WebCore::InspectorAgent::resourceAgent):
2896         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
2897         (WebCore::InspectorAgent::populateScriptObjects):
2898         (WebCore::InspectorAgent::pushDataCollectedOffline):
2899         (WebCore::InspectorAgent::restoreDebugger):
2900         (WebCore::InspectorAgent::restoreProfiler):
2901         (WebCore::InspectorAgent::unbindAllResources):
2902         (WebCore::InspectorAgent::didCommitLoad):
2903         (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent):
2904         (WebCore::InspectorAgent::mainResourceFiredLoadEvent):
2905         (WebCore::InspectorAgent::isMainResourceLoader):
2906         (WebCore::InspectorAgent::willSendRequest):
2907         (WebCore::InspectorAgent::ensureSettingsLoaded):
2908         (WebCore::InspectorAgent::startTimelineProfiler):
2909         (WebCore::InspectorAgent::stopTimelineProfiler):
2910         (WebCore::PostWorkerNotificationToFrontendTask::create):
2911         (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
2912         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
2913         (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
2914         (WebCore::InspectorAgent::didCreateWorker):
2915         (WebCore::InspectorAgent::didDestroyWorker):
2916         (WebCore::InspectorAgent::didOpenDatabase):
2917         (WebCore::InspectorAgent::getCookies):
2918         (WebCore::InspectorAgent::buildArrayForCookies):
2919         (WebCore::InspectorAgent::buildObjectForCookie):
2920         (WebCore::InspectorAgent::deleteCookie):
2921         (WebCore::InspectorAgent::didUseDOMStorage):
2922         (WebCore::InspectorAgent::didCreateWebSocket):
2923         (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest):
2924         (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse):
2925         (WebCore::InspectorAgent::didCloseWebSocket):
2926         (WebCore::InspectorAgent::isRecordingUserInitiatedProfile):
2927         (WebCore::InspectorAgent::startUserInitiatedProfiling):
2928         (WebCore::InspectorAgent::stopUserInitiatedProfiling):
2929         (WebCore::InspectorAgent::profilerEnabled):
2930         (WebCore::InspectorAgent::enableProfiler):
2931         (WebCore::InspectorAgent::disableProfiler):
2932         (WebCore::InspectorAgent::showAndEnableDebugger):
2933         (WebCore::InspectorAgent::enableDebugger):
2934         (WebCore::InspectorAgent::disableDebugger):
2935         (WebCore::InspectorAgent::resume):
2936         (WebCore::InspectorAgent::setAllBrowserBreakpoints):
2937         (WebCore::InspectorAgent::evaluateForTestInFrontend):
2938         (WebCore::InspectorAgent::didEvaluateForTestInFrontend):
2939         (WebCore::quadToPath):
2940         (WebCore::drawOutlinedQuad):
2941         (WebCore::drawOutlinedQuadWithClip):
2942         (WebCore::drawHighlightForBox):
2943         (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
2944         (WebCore::convertFromFrameToMainFrame):
2945         (WebCore::frameToMainFrameOffset):
2946         (WebCore::InspectorAgent::drawNodeHighlight):
2947         (WebCore::InspectorAgent::drawElementTitle):
2948         (WebCore::InspectorAgent::openInInspectedWindow):
2949         (WebCore::InspectorAgent::addScriptToEvaluateOnLoad):
2950         (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad):
2951         (WebCore::InspectorAgent::setInspectorExtensionAPI):
2952         (WebCore::InspectorAgent::inspectedURL):
2953         (WebCore::InspectorAgent::reloadPage):
2954         (WebCore::InspectorAgent::setExtraHeaders):
2955         * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h.
2956         (WebCore::InspectorAgent::inspectorBackendDispatcher):
2957         (WebCore::InspectorAgent::inspectorClient):
2958         (WebCore::InspectorAgent::injectedScriptHost):
2959         (WebCore::InspectorAgent::inspectedPage):
2960         (WebCore::InspectorAgent::hideDOMNodeHighlight):
2961         (WebCore::InspectorAgent::hideFrameHighlight):
2962         (WebCore::InspectorAgent::frontend):
2963         (WebCore::InspectorAgent::inspectorController):
2964         (WebCore::InspectorAgent::inspectorAgent):
2965         (WebCore::InspectorAgent::consoleAgent):
2966         (WebCore::InspectorAgent::cssAgent):
2967         (WebCore::InspectorAgent::domAgent):
2968         (WebCore::InspectorAgent::injectedScriptAgent):
2969         (WebCore::InspectorAgent::runtimeAgent):
2970         (WebCore::InspectorAgent::timelineAgent):
2971         (WebCore::InspectorAgent::databaseAgent):
2972         (WebCore::InspectorAgent::domStorageAgent):
2973         (WebCore::InspectorAgent::fileSystemAgent):
2974         (WebCore::InspectorAgent::browserDebuggerAgent):
2975         (WebCore::InspectorAgent::debuggerAgent):
2976         (WebCore::InspectorAgent::profilerAgent):
2977         (WebCore::InspectorAgent::applicationCacheAgent):
2978         (WebCore::InspectorAgent::hasInspectorFrontendClient):
2979         (WebCore::InspectorAgent::hasFrontend):
2980         (WebCore::InspectorAgent::startProfiling):
2981         (WebCore::InspectorAgent::stopProfiling):
2982         (WebCore::InspectorAgent::debuggerEnabled):
2983         (WebCore::InspectorAgent::state):
2984         (WebCore::InspectorAgent::settings):
2985         * inspector/InspectorApplicationCacheAgent.cpp:
2986         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
2987         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
2988         * inspector/InspectorApplicationCacheAgent.h:
2989         * inspector/InspectorBrowserDebuggerAgent.cpp:
2990         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
2991         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
2992         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
2993         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
2994         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
2995         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
2996         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
2997         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
2998         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
2999         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
3000         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
3001         * inspector/InspectorBrowserDebuggerAgent.h:
3002         (WebCore::InspectorBrowserDebuggerAgent::create):
3003         * inspector/InspectorConsoleAgent.cpp:
3004         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3005         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
3006         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
3007         (WebCore::InspectorConsoleAgent::addMessageToConsole):
3008         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
3009         (WebCore::InspectorConsoleAgent::didReceiveResponse):
3010         (WebCore::InspectorConsoleAgent::didFailLoading):
3011         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
3012         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
3013         (WebCore::InspectorConsoleAgent::addConsoleMessage):
3014         * inspector/InspectorConsoleAgent.h:
3015         * inspector/InspectorController.cpp:
3016         (WebCore::InspectorController::InspectorController):
3017         * inspector/InspectorController.h:
3018         * inspector/InspectorDatabaseAgent.cpp:
3019         * inspector/InspectorDebuggerAgent.cpp:
3020         (WebCore::InspectorDebuggerAgent::create):
3021         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3022         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
3023         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3024         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
3025         (WebCore::InspectorDebuggerAgent::currentCallFrames):
3026         * inspector/InspectorDebuggerAgent.h:
3027         * inspector/InspectorFileSystemAgent.cpp:
3028         (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
3029         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
3030         (WebCore::InspectorFileSystemAgent::stop):
3031         (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
3032         (WebCore::InspectorFileSystemAgent::didGetFileSystemPath):
3033         (WebCore::InspectorFileSystemAgent::didGetFileSystemError):
3034         * inspector/InspectorFileSystemAgent.h:
3035         (WebCore::InspectorFileSystemAgent::create):
3036         * inspector/InspectorFrontendHost.cpp:
3037         (WebCore::InspectorFrontendHost::setExtensionAPI):
3038         * inspector/InspectorProfilerAgent.cpp:
3039         (WebCore::InspectorProfilerAgent::create):
3040         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3041         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
3042         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
3043         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
3044         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
3045         * inspector/InspectorProfilerAgent.h:
3046
3047 2011-01-22  Chris Rogers  <crogers@google.com>
3048
3049         Rubber-stamped by Anders Carlsson.
3050
3051         Fix FFTFrameStub to compile properly
3052         https://bugs.webkit.org/show_bug.cgi?id=52969
3053
3054         No new tests since this is a build fix.
3055
3056         * platform/audio/FFTFrameStub.cpp:
3057         (WebCore::FFTFrame::FFTFrame):
3058
3059 2011-01-22  Andrei Popescu  <andreip@google.com>
3060
3061         Reviewed by Jeremy Orlow.
3062
3063         IndexedDB corrupts data on disk
3064         https://bugs.webkit.org/show_bug.cgi?id=52890
3065
3066         We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
3067         Test: storage/indexeddb/data-corruption.html
3068
3069         * platform/sql/SQLiteStatement.cpp:
3070         (WebCore::SQLiteStatement::bindBlob):
3071         (WebCore::SQLiteStatement::getColumnBlobAsString):
3072         (WebCore::SQLiteStatement::getColumnBlobAsVector):
3073         * platform/sql/SQLiteStatement.h:
3074         * storage/IDBCursorBackendImpl.cpp:
3075         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
3076         * storage/IDBFactoryBackendImpl.cpp:
3077         (WebCore::runCommands):
3078         (WebCore::createTables):
3079         (WebCore::createMetaDataTable):
3080         (WebCore::migrateDatabase):
3081         * storage/IDBObjectStoreBackendImpl.cpp:
3082         (WebCore::IDBObjectStoreBackendImpl::getInternal):
3083         (WebCore::putObjectStoreData):
3084
3085 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
3086
3087         Not reviewed. Fix WinCE build.
3088
3089         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3090         (WebCore::GraphicsContext::drawText):
3091         * rendering/RenderThemeWinCE.cpp:
3092         (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
3093
3094 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
3095
3096         Reviewed by Dirk Schulze.
3097
3098         REGRESSION: Vertical line metrics incorrect
3099         https://bugs.webkit.org/show_bug.cgi?id=52960
3100
3101         SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font.
3102         That didn't influence the lineSpacing so far, but does now, causing regressions.
3103
3104         Restore old line spacing behaviour to fix the regression.
3105         Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.
3106
3107         * platform/graphics/FontMetrics.h:
3108         (WebCore::FontMetrics::FontMetrics):
3109         (WebCore::FontMetrics::floatLineSpacing):
3110         (WebCore::FontMetrics::setLineSpacing):
3111         (WebCore::FontMetrics::lineSpacing):
3112         (WebCore::FontMetrics::reset):
3113         * platform/graphics/SimpleFontData.cpp:
3114         (WebCore::SimpleFontData::SimpleFontData):
3115         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
3116         (WebCore::SimpleFontData::platformInit):
3117         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
3118         (WebCore::SimpleFontData::platformInit):
3119         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
3120         (WebCore::SimpleFontData::platformInit):
3121         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
3122         (WebCore::SimpleFontData::platformInit):
3123         * platform/graphics/mac/SimpleFontDataMac.mm:
3124         (WebCore::SimpleFontData::platformInit):
3125         * platform/graphics/pango/SimpleFontDataPango.cpp:
3126         (WebCore::SimpleFontData::platformInit):
3127         * platform/graphics/qt/SimpleFontDataQt.cpp:
3128         (WebCore::SimpleFontData::platformInit):
3129         * platform/graphics/win/SimpleFontDataCGWin.cpp:
3130         (WebCore::SimpleFontData::platformInit):
3131         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
3132         (WebCore::SimpleFontData::platformInit):
3133         * platform/graphics/win/SimpleFontDataWin.cpp:
3134         (WebCore::SimpleFontData::initGDIFont):
3135         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
3136         (WebCore::SimpleFontData::platformInit):
3137         * platform/graphics/wx/SimpleFontDataWx.cpp:
3138         (WebCore::SimpleFontData::platformInit):
3139
3140 2011-01-22  Andreas Kling  <kling@webkit.org>
3141
3142         Reviewed by Kenneth Rohde Christiansen.
3143
3144         [Qt] fast/backgrounds/svg-as-mask.html fails
3145         https://bugs.webkit.org/show_bug.cgi?id=52906
3146
3147         Transparency layers should start out with in SourceOver mode with
3148         alpha 1.0 (modeled after CGContextBeginTransparencyLayer.)
3149
3150         * platform/graphics/qt/TransparencyLayer.h:
3151         (WebCore::TransparencyLayer::TransparencyLayer):
3152
3153 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
3154
3155         Not reviewed.
3156
3157         Introduce FontMetrics abstraction
3158         https://bugs.webkit.org/show_bug.cgi?id=51456
3159
3160         Fix Chromium/Win build.
3161
3162         * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./
3163         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
3164
3165 2011-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
3166
3167         Reviewed by Dirk Schulze.
3168
3169         Introduce FontMetrics abstraction
3170         https://bugs.webkit.org/show_bug.cgi?id=51456
3171
3172         Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of
3173         having to define them in both Font & SimpleFontData. Changed to store floating point values
3174         as default, in order to get accurate information for small sized fonts. All these methods
3175         now have floating-point and integer versions. Whenever an integer variant of these functions
3176         is called, lroundf() is used to round the value.
3177
3178         This makes it possible to support small font-sizes for SVG in a follow-up patch, as well
3179         as fixing rounding issues when using SVG Fonts.
3180         
3181         Shouldn't affect existing tests.
3182
3183         * GNUmakefile.am: Add FontMetrics.h to build. 
3184         * WebCore.gypi: Ditto.
3185         * WebCore.pro: Ditto.
3186         * WebCore.vcproj/WebCore.vcproj: Ditto.
3187         * WebCore.xcodeproj/project.pbxproj: Ditto.
3188         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
3189         (baselinePositionForAccessibilityRenderObject):
3190         * css/CSSPrimitiveValue.cpp:         
3191         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3192         * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
3193         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3194         * inspector/InspectorController.cpp: Ditto.
3195         (WebCore::InspectorController::drawElementTitle):
3196         * platform/chromium/PopupMenuChromium.cpp: Ditto.
3197         (WebCore::PopupListBox::paintRow):
3198         (WebCore::PopupListBox::getRowHeight):
3199         * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor...
3200         (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here.
3201         * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information.
3202         (WebCore::Font::emphasisMarkAscent):
3203         (WebCore::Font::emphasisMarkDescent):
3204         (WebCore::Font::emphasisMarkHeight):
3205         (WebCore::Font::floatWidthForSimpleText):
3206         * platform/graphics/FontMetrics.h: Added.
3207         (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData.
3208         (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm.
3209         (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value.
3210         (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float.
3211         (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float.
3212         (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float.
3213         (WebCore::FontMetrics::setDescent): Sets the stored m_descent float.
3214         (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent().
3215         (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float.
3216         (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float.
3217         (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float.
3218         (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float.
3219         (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix).
3220         (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float.
3221         (WebCore::FontMetrics::ascent): Returns a rounded version of ascent().
3222         (WebCore::FontMetrics::descent): Ditto (for descent).
3223         (WebCore::FontMetrics::height): Returns ascent() + descent().
3224         (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap().
3225         (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing).
3226         (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData.
3227         * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone.
3228         (WebCore::SimpleFontData::SimpleFontData):
3229         (WebCore::SimpleFontData::initCharWidths):
3230         * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it.
3231         (WebCore::SimpleFontData::fontMetrics):
3232         (WebCore::SimpleFontData::avgCharWidth):
3233         * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics.
3234         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
3235         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
3236         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
3237         (WebCore::Font::drawComplexText):
3238         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object.
3239         (WebCore::SimpleFontData::platformInit):
3240         * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto.
3241         (WebCore::SimpleFontData::platformInit):
3242         * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics.
3243         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
3244         (WebCore::UniscribeHelperTextRun::nextWinFontData):
3245         * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object.
3246         (WebCore::SimpleFontData::platformInit):
3247         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto.
3248         (WebCore::SimpleFontData::platformInit):
3249         * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics.
3250         (WebCore::Font::floatWidthForComplexText):
3251         * platform/graphics/mac/FontMac.mm: Ditto.
3252         (WebCore::showGlyphsWithAdvances):
3253         * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object.
3254         (WebCore::SimpleFontData::platformInit):
3255         (WebCore::SimpleFontData::platformCharWidthInit):
3256         * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
3257         (WebCore::SimpleFontData::platformInit):
3258         * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.)
3259         (WebCore::SimpleFontData::platformInit):
3260         * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics.
3261         (WebCore::drawGDIGlyphs):
3262         * platform/graphics/win/FontWin.cpp: Ditto.
3263         (WebCore::Font::floatWidthForComplexText):
3264         * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object.
3265         (WebCore::SimpleFontData::platformInit):
3266         (WebCore::SimpleFontData::platformBoundsForGlyph):
3267         * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto.
3268         (WebCore::SimpleFontData::platformInit):
3269         * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
3270         (WebCore::SimpleFontData::initGDIFont):
3271         * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics.
3272         (WebCore::GraphicsContext::drawText):
3273         * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object.
3274         (WebCore::SimpleFontData::platformInit):
3275         * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.
3276         (WebCore::SimpleFontData::platformInit):
3277         * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
3278         (WebCore::PopupMenuWin::calculatePositionAndSize): 
3279         (WebCore::PopupMenuWin::paint):
3280         * rendering/EllipsisBox.cpp: Ditto.
3281         (WebCore::EllipsisBox::paint):
3282         (WebCore::EllipsisBox::nodeAtPoint):
3283         * rendering/InlineBox.cpp: Ditto.
3284         (WebCore::InlineBox::logicalHeight):
3285         * rendering/InlineFlowBox.cpp: Ditto.
3286         (WebCore::verticalPositionForBox):
3287         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3288         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3289         * rendering/InlineTextBox.cpp: Ditto.
3290         (WebCore::InlineTextBox::paint):
3291         (WebCore::InlineTextBox::paintDecoration):
3292         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3293         (WebCore::InlineTextBox::paintCompositionUnderline):
3294         * rendering/RenderBlock.cpp: Ditto.
3295         (WebCore::RenderBlock::baselinePosition):
3296         (WebCore::RenderBlock::firstLineBoxBaseline):
3297         (WebCore::RenderBlock::lastLineBoxBaseline):
3298         * rendering/RenderBox.cpp: Ditto.
3299         (WebCore::RenderBox::localCaretRect):
3300         * rendering/RenderEmbeddedObject.cpp: Ditto.
3301         (WebCore::RenderEmbeddedObject::paintReplaced):
3302         * rendering/RenderImage.cpp: Ditto.
3303         (WebCore::RenderImage::setImageSizeForAltText):
3304         (WebCore::RenderImage::paintReplaced):
3305         * rendering/RenderInline.cpp: Ditto.
3306         (WebCore::RenderInline::baselinePosition):
3307         * rendering/RenderListBox.cpp: Ditto.
3308         (WebCore::RenderListBox::paintItemForeground):
3309         (WebCore::RenderListBox::itemHeight):
3310         * rendering/RenderListMarker.cpp: Ditto.
3311         (WebCore::RenderListMarker::paint):
3312         (WebCore::RenderListMarker::layout):
3313         (WebCore::RenderListMarker::computePreferredLogicalWidths):
3314         (WebCore::RenderListMarker::updateMargins):
3315         (WebCore::RenderListMarker::getRelativeMarkerRect):
3316         * rendering/RenderTextControl.cpp: Ditto.
3317         (WebCore::RenderTextControl::paintPlaceholder):
3318         * rendering/RenderTextControlSingleLine.cpp: Ditto.
3319         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3320         * rendering/RenderThemeWin.cpp: Ditto.
3321         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
3322         * rendering/mathml/RenderMathMLFraction.cpp: Ditto.
3323         (WebCore::RenderMathMLFraction::baselinePosition):
3324         * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor.
3325         (WebCore::InheritedFlags::fontMetrics):
3326         (WebCore::InheritedFlags::computedLineHeight):
3327         * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
3328         (WebCore::RenderSVGInlineText::positionForPoint):
3329         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
3330         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
3331         (WebCore::positionOffsetForDecoration):
3332         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
3333         (WebCore::SVGInlineTextBox::paintTextWithShadows):
3334         (WebCore::SVGInlineTextBox::calculateBoundaries):
3335         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto.
3336         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
3337         (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
3338         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
3339         * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto.
3340         (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
3341         * rendering/svg/SVGTextMetrics.cpp: Ditto.
3342         (WebCore::SVGTextMetrics::SVGTextMetrics):
3343         * rendering/svg/SVGTextQuery.cpp: Ditto.
3344         (WebCore::calculateGlyphBoundaries):
3345         * svg/SVGFontFaceElement.cpp: 
3346         (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm.
3347         * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
3348         (WebCore::SVGLength::convertValueFromUserUnitsToEXS):
3349         (WebCore::SVGLength::convertValueFromEXSToUserUnits):
3350
3351 2011-01-22  Ryosuke Niwa  <rniwa@webkit.org>
3352
3353         Reviewed by Eric Seidel.
3354
3355         Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
3356         https://bugs.webkit.org/show_bug.cgi?id=52759
3357
3358         Stopped instantiating legacy editing positions in the following files.
3359
3360         * editing/VisibleSelection.cpp:
3361         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
3362         * editing/visible_units.cpp:
3363         (WebCore::previousBoundary):
3364         (WebCore::previousLinePosition):
3365         (WebCore::nextLinePosition):
3366         (WebCore::startOfBlock):
3367         * page/Frame.cpp:
3368         (WebCore::Frame::visiblePositionForPoint):
3369         * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
3370         * rendering/RenderBlock.h: Ditto.
3371
3372 2011-01-22  Adrienne Walker  <enne@google.com>
3373
3374         Reviewed by James Robinson.
3375
3376         [chromium] Fix compositor repaints for offscreen fixed elements
3377         https://bugs.webkit.org/show_bug.cgi?id=52681
3378
3379         The fast path scrolling was clipping offscreen invalidations.
3380         Additionally, the compositor was ignoring all invalidations that were
3381         entirely out of the content rect.
3382
3383         Test: compositing/ to verify this caused no regressions.
3384         Tested fix manually in browser as I could not generate a LayoutTest that reproduced the bug in run-webkit-tests.
3385
3386         * page/FrameView.cpp:
3387         (WebCore::FrameView::scrollContentsFastPath):
3388         * platform/graphics/chromium/LayerRendererChromium.cpp:
3389         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
3390
3391 2011-01-22  Alexey Proskuryakov  <ap@apple.com>
3392
3393         Reviewed by Dan Bernstein.
3394
3395         https://bugs.webkit.org/show_bug.cgi?id=52951
3396         WebKit2 generates a bad PDF for cross process messaging
3397
3398         * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually
3399         draw inside the requested rectangle.
3400
3401 2011-01-21  Yury Semikhatsky  <yurys@chromium.org>
3402
3403         Reviewed by Adam Barth.
3404
3405         Regression: new window.onerror() implementation leaks cross-origin Javascript errors
3406         https://bugs.webkit.org/show_bug.cgi?id=52903
3407
3408         In case of an exception in a script from different domain only generic message
3409         will be passed to window.onerror hander.
3410
3411         Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html
3412                http/tests/security/cross-origin-script-window-onerror.html
3413
3414         * bindings/js/CachedScriptSourceProvider.h: use URL from the resource response to make sure we do all
3415         cross origin checks agains real script URL, not the original URL which may have resulted in a sequence
3416         of redirects to different domains.
3417         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
3418         * bindings/v8/ScriptSourceCode.h: same for v8.
3419         (WebCore::ScriptSourceCode::url):
3420         * dom/ScriptExecutionContext.cpp:
3421         (WebCore::ScriptExecutionContext::dispatchErrorEvent): in case the error occurred in a script we cannot
3422         access provide concise "Script error." message without any information about the error source. This is
3423         what Firefox does in this case.
3424
3425 2011-01-21  Andreas Kling  <kling@webkit.org>
3426
3427         Reviewed by Kenneth Rohde Christiansen.
3428
3429         [Qt] Always set composition mode through GraphicsContext
3430         https://bugs.webkit.org/show_bug.cgi?id=52940
3431
3432         GraphicsContext tracks the current composition mode so we should
3433         never call through to the QPainter directly.
3434
3435         * platform/graphics/GraphicsContext.h:
3436         * platform/graphics/qt/GraphicsContextQt.cpp:
3437         (WebCore::toQtCompositionMode): Changed this method to a static inline
3438         since it's only used by GraphicsContextQt.cpp now.
3439
3440         * platform/graphics/qt/ImageQt.cpp:
3441         (WebCore::Image::drawPattern):
3442         (WebCore::BitmapImage::draw):
3443
3444 2011-01-21  Dan Bernstein  <mitz@apple.com>
3445
3446         Reviewed by Adele Peterson.
3447
3448         Inconsistent handling of no-break space in justification logic
3449         https://bugs.webkit.org/show_bug.cgi?id=52938
3450
3451         Test: fast/text/justify-nbsp.html
3452
3453         * rendering/RenderBlockLineLayout.cpp:
3454         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Count no-break space as a
3455         space when computing the distribution of space between text boxes on the line.
3456
3457 2011-01-21  Charlie Reis  <creis@chromium.org>
3458
3459         Reviewed by Darin Fisher.
3460
3461         Crash in WebCore::HistoryController::itemsAreClones
3462         https://bugs.webkit.org/show_bug.cgi?id=52819
3463
3464         Adds sanity checks to help diagnose the crash.
3465
3466         * loader/HistoryController.cpp:
3467
3468 2011-01-21  Andreas Kling  <kling@webkit.org>
3469
3470         Reviewed by Ariya Hidayat.
3471
3472         [Qt] Let QPainter decide whether a composition mode is supported or not
3473
3474         Lacking Porter-Duff support in the paint engine shouldn't exclude the
3475         Source and Source-Over modes (and has nothing to do with the blend
3476         and raster-op modes.)
3477
3478         Delegate this decision to QPainter instead (this will cause warnings
3479         if an unsupported mode is used, but that's a good thing.)
3480
3481         * platform/graphics/qt/GraphicsContextQt.cpp:
3482         (WebCore::GraphicsContext::clearRect):
3483         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3484         * platform/graphics/qt/TransparencyLayer.h:
3485         (WebCore::TransparencyLayer::TransparencyLayer):
3486
3487 2011-01-21  Chris Rogers  <crogers@google.com>
3488
3489         Reviewed by Kenneth Russell.
3490
3491         fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h"
3492         https://bugs.webkit.org/show_bug.cgi?id=52933
3493
3494         No new tests since this just fixes the build
3495
3496         * webaudio/RealtimeAnalyser.h:
3497
3498 2011-01-21  Chris Rogers  <crogers@google.com>
3499
3500         Reviewed by Kenneth Russell.
3501
3502         Fix audio build: change ChromiumBridge to PlatformBridge
3503         https://bugs.webkit.org/show_bug.cgi?id=52928
3504
3505         No new tests since audio API is not yet implemented.
3506
3507         * platform/audio/chromium/AudioBusChromium.cpp:
3508         (WebCore::AudioBus::loadPlatformResource):
3509
3510 2011-01-21  Chris Rogers  <crogers@google.com>
3511
3512         Reviewed by Kenneth Russell.
3513
3514         Add FFTFrameStub to avoid link errors during bringup on platforms without an FFT implementation
3515         https://bugs.webkit.org/show_bug.cgi?id=52922
3516
3517         No new tests since audio API is not yet implemented.
3518
3519         * WebCore.gypi:
3520         * platform/audio/FFTFrameStub.cpp: Added.
3521         (WebCore::FFTFrame::FFTFrame):
3522         (WebCore::FFTFrame::~FFTFrame):
3523         (WebCore::FFTFrame::multiply):
3524         (WebCore::FFTFrame::doFFT):
3525         (WebCore::FFTFrame::doInverseFFT):
3526         (WebCore::FFTFrame::cleanup):
3527         (WebCore::FFTFrame::realData):
3528         (WebCore::FFTFrame::imagData):
3529
3530 2011-01-21  Tony Chang  <tony@chromium.org>
3531
3532         Reviewed by Sam Weinig.
3533
3534         reduce number of FrameLoaderClient::didChangeScrollOffset calls
3535         https://bugs.webkit.org/show_bug.cgi?id=52915
3536
3537         Only notify of changes in scroll offset when there actually is a change.
3538         This regressed in r76291.
3539
3540         Covered by Chromium browser_tests.
3541
3542         * platform/ScrollAnimator.cpp:
3543         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
3544
3545 2011-01-21  Pavel Feldman  <pfeldman@chromium.org>
3546
3547         Reviewed by Yury Semikhatsky.
3548
3549         Web Inspector: ~InspectorResourceAgent crashes on closing inspected page.
3550         https://bugs.webkit.org/show_bug.cgi?id=52900
3551
3552         * inspector/InspectorController.cpp:
3553         (WebCore::InspectorController::~InspectorController):
3554         (WebCore::InspectorController::inspectedPageDestroyed):
3555
3556 2011-01-21  Chris Rogers  <crogers@google.com>
3557
3558         Reviewed by Darin Fisher.
3559
3560         Add run-time enable support for the web audio API
3561         https://bugs.webkit.org/show_bug.cgi?id=52741
3562
3563         No new tests since audio API is not yet implemented.
3564
3565         * WebCore.exp.in:
3566         * bindings/generic/RuntimeEnabledFeatures.cpp:
3567         * bindings/generic/RuntimeEnabledFeatures.h:
3568         (WebCore::RuntimeEnabledFeatures::setWebkitAudioContextEnabled):
3569         (WebCore::RuntimeEnabledFeatures::webkitAudioContextEnabled):
3570         * page/DOMWindow.idl:
3571         * page/Settings.cpp:
3572         (WebCore::Settings::Settings):
3573         (WebCore::Settings::setWebAudioEnabled):
3574         * page/Settings.h:
3575         (WebCore::Settings::webAudioEnabled):
3576
3577 2011-01-21  Martin Robinson  <mrobinson@igalia.com>
3578
3579         Reviewed by Xan Lopez.
3580
3581         [GTK] Menulist text often collides with separator
3582         https://bugs.webkit.org/show_bug.cgi?id=51155
3583
3584         Move menulist rendering to RenderThemeGtk and correct padding code
3585         for separators in menulists.
3586
3587         * platform/gtk/RenderThemeGtk.cpp:
3588         (WebCore::RenderThemeGtk::RenderThemeGtk): Initialize new widget members.
3589         (WebCore::RenderThemeGtk::getComboBoxSeparatorWidth): Added.
3590         (WebCore::RenderThemeGtk::comboBoxArrowSize): Added.
3591         (WebCore::getButtonInnerBorder): Added.
3592         (WebCore::RenderThemeGtk::getComboBoxPadding): Do this manually instead of using
3593         Mozilla code.
3594         (WebCore::RenderThemeGtk::paintMenuList): Ditto.
3595         (WebCore::setupWidget): Abstracted this part of the setupWidgetAndAddToContainer
3596         out to handle child widgets of comboboxes.
3597         (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Abstracted out setupWidget.
3598         (WebCore::RenderThemeGtk::gtkContainer): Added.
3599         (WebCore::getGtkComboBoxButton): Added.
3600         (WebCore::getGtkComboBoxPieces): Added.
3601         (WebCore::RenderThemeGtk::gtkComboBox): Call setupWidget here.
3602         (WebCore::RenderThemeGtk::refreshComboBoxChildren): Added.
3603         (WebCore::RenderThemeGtk::gtkComboBoxButton): Added.
3604         (WebCore::RenderThemeGtk::gtkComboBoxArrow): Added.
3605         (WebCore::RenderThemeGtk::gtkComboBoxSeparator): Added.
3606         * platform/gtk/RenderThemeGtk.h: Added new members and methods.
3607         * platform/gtk/WidgetRenderingContext.h: Added new members and methods.
3608         * platform/gtk/WidgetRenderingContextGtk2.cpp:
3609         (WebCore::WidgetRenderingContext::gtkPaintArrow):
3610         (WebCore::WidgetRenderingContext::gtkPaintVLine):
3611         * platform/gtk/WidgetRenderingContextGtk3.cpp:
3612         (WebCore::WidgetRenderingContext::gtkPaintArrow):
3613         (WebCore::WidgetRenderingContext::gtkPaintVLine):
3614         * platform/gtk/gtk2drawing.c: Removed code for drawing menulists and buttons.
3615         (moz_gtk_init):
3616         (moz_gtk_get_widget_border):
3617         (moz_gtk_widget_paint):
3618         * platform/gtk/gtk3drawing.c:
3619         (moz_gtk_init):
3620         (moz_gtk_get_widget_border):
3621         (moz_gtk_widget_paint):
3622         * platform/gtk/gtkdrawing.h:
3623
3624 2011-01-21  Sam Weinig  <sam@webkit.org>
3625
3626         Fix chromium mac build.
3627
3628         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3629         (WebCore::scrollbarStateToThemeState):
3630         (WebCore::ScrollbarThemeChromiumMac::paint):
3631
3632 2011-01-21  Sam Weinig  <sam@webkit.org>
3633
3634         Fix the windows build.
3635
3636         * platform/ScrollbarThemeComposite.cpp:
3637         (WebCore::ScrollbarThemeComposite::paint):
3638
3639 2011-01-21  Chris Rogers  <crogers@google.com>
3640
3641         Reviewed by Kenneth Russell.
3642
3643         Add chromium bundled audio spatialization resources to WebAudio.grd
3644         https://bugs.webkit.org/show_bug.cgi?id=52651
3645
3646         No new tests since audio API is not yet implemented.
3647
3648         * WebCore.gyp/WebCore.gyp:
3649         * platform/audio/chromium/AudioBusChromium.cpp:
3650         (WebCore::AudioBus::loadPlatformResource):
3651
3652 2011-01-21  Xiyuan Xia  <xiyuan@chromium.org>
3653
3654         Reviewed by Tony Chang.
3655
3656         Use WebThemeEngine for relevant RenderTheme parts for chromium/linux.
3657         https://bugs.webkit.org/show_bug.cgi?id=52826
3658
3659         * platform/chromium/ChromiumBridge.h:
3660         * rendering/RenderThemeChromiumLinux.cpp:
3661         (WebCore::getWebThemeState):
3662         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
3663         (WebCore::RenderThemeChromiumLinux::paintCheckbox):
3664         (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
3665         (WebCore::RenderThemeChromiumLinux::paintRadio):
3666         (WebCore::RenderThemeChromiumLinux::setRadioSize):
3667         (WebCore::RenderThemeChromiumLinux::paintButton):
3668         (WebCore::RenderThemeChromiumLinux::paintTextField):
3669         (WebCore::RenderThemeChromiumLinux::paintMenuList):
3670         (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
3671         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
3672         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
3673         (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
3674         (WebCore::RenderThemeChromiumLinux::paintProgressBar):
3675         * rendering/RenderThemeChromiumLinux.h:
3676         * rendering/RenderThemeChromiumSkia.cpp:
3677         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
3678         (WebCore::RenderThemeChromiumSkia::setSizeIfAuto):
3679         (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
3680         * rendering/RenderThemeChromiumSkia.h:
3681
3682 2011-01-21  Sam Weinig  <sam@webkit.org>
3683
3684         Reviewed by Anders Carlsson.
3685
3686         Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
3687         https://bugs.webkit.org/show_bug.cgi?id=52779
3688
3689         Rename ScrollbarClient -> ScrollableArea.
3690
3691         - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea
3692           since that was its only use case.
3693
3694         * CMakeLists.txt:
3695         * GNUmakefile.am:
3696         * WebCore.gypi:
3697         * WebCore.pro:
3698         * WebCore.vcproj/WebCore.vcproj:
3699         * WebCore.xcodeproj/project.pbxproj:
3700         * accessibility/AccessibilityScrollbar.cpp:
3701         (WebCore::AccessibilityScrollbar::setValue):
3702         * css/CSSStyleSelector.cpp:
3703         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
3704         * page/FrameView.h:
3705         * platform/PopupMenuClient.h:
3706         * platform/ScrollAnimator.cpp:
3707         (WebCore::ScrollAnimator::create):
3708         (WebCore::ScrollAnimator::ScrollAnimator):
3709         (WebCore::ScrollAnimator::scroll):
3710         (WebCore::ScrollAnimator::notityPositionChanged):
3711         * platform/ScrollAnimator.h:
3712         * platform/ScrollAnimatorWin.cpp:
3713         (WebCore::ScrollAnimator::create):
3714         (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
3715         (WebCore::ScrollAnimatorWin::scroll):
3716         * platform/ScrollAnimatorWin.h:
3717         * platform/ScrollView.cpp:
3718         (WebCore::ScrollView::scroll):
3719         (WebCore::ScrollView::updateScrollbars):
3720         (WebCore::ScrollView::wheelEvent):
3721         * platform/ScrollView.h:
3722         * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp.
3723         (WebCore::ScrollableArea::ScrollableArea):
3724         (WebCore::ScrollableArea::~ScrollableArea):
3725         (WebCore::ScrollableArea::scroll):
3726         (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
3727         (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
3728         (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
3729         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
3730         * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h.
3731         * platform/Scrollbar.cpp:
3732         (WebCore::Scrollbar::createNativeScrollbar):
3733         (WebCore::Scrollbar::Scrollbar):
3734         (WebCore::Scrollbar::offsetDidChange):
3735         (WebCore::Scrollbar::autoscrollPressedPart):
3736         (WebCore::Scrollbar::moveThumb):
3737         (WebCore::Scrollbar::mouseMoved):
3738         (WebCore::Scrollbar::isWindowActive):
3739         (WebCore::Scrollbar::invalidateRect):
3740         (WebCore::Scrollbar::convertToContainingView):
3741         (WebCore::Scrollbar::convertFromContainingView):
3742         * platform/Scrollbar.h:
3743         (WebCore::Scrollbar::disconnectFromScrollableArea):
3744         (WebCore::Scrollbar::scrollableArea):
3745         * platform/ScrollbarClient.cpp: Removed.
3746         * platform/ScrollbarClient.h: Removed.
3747         * platform/ScrollbarThemeComposite.cpp:
3748         * platform/chromium/FramelessScrollView.h:
3749         * platform/chromium/ScrollbarThemeChromium.cpp:
3750         (WebCore::ScrollbarThemeChromium::paintTickmarks):
3751         * platform/efl/ScrollbarEfl.cpp:
3752         (Scrollbar::createNativeScrollbar):
3753         (ScrollbarEfl::ScrollbarEfl):
3754         (scrollbarEflEdjeMessage):
3755         * platform/efl/ScrollbarEfl.h:
3756         * platform/gtk/MainFrameScrollbarGtk.cpp:
3757         (MainFrameScrollbarGtk::create):
3758         (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
3759         (MainFrameScrollbarGtk::gtkValueChanged):
3760         * platform/gtk/MainFrameScrollbarGtk.h:
3761         * platform/mac/ScrollAnimatorMac.h:
3762         * platform/mac/ScrollAnimatorMac.mm:
3763         (WebCore::ScrollAnimator::create):
3764         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3765         (WebCore::ScrollAnimatorMac::scroll):
3766         * platform/mac/ScrollbarThemeMac.mm:
3767         (WebCore::ScrollbarThemeMac::paint):
3768         * platform/qt/ScrollbarQt.cpp:
3769         (WebCore::Scrollbar::contextMenu):
3770         * platform/win/PopupMenuWin.cpp:
3771         (WebCore::PopupMenuWin::scrollToRevealSelection):
3772         (WebCore::PopupMenuWin::wndProc):
3773         * platform/win/PopupMenuWin.h:
3774         * platform/win/ScrollbarThemeSafari.cpp:
3775         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
3776         (WebCore::ScrollbarThemeSafari::paintButton):
3777         (WebCore::ScrollbarThemeSafari::paintThumb):
3778         * platform/wx/ScrollbarThemeWx.cpp:
3779         (WebCore::ScrollbarThemeWx::paint):
3780         * rendering/RenderDataGrid.h:
3781         * rendering/RenderLayer.cpp:
3782         (WebCore::RenderLayer::scrollToOffset):
3783         (WebCore::RenderLayer::destroyScrollbar):
3784         (WebCore::RenderLayer::scroll):
3785         * rendering/RenderLayer.h:
3786         * rendering/RenderListBox.cpp:
3787         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
3788         (WebCore::RenderListBox::scroll):
3789         (WebCore::RenderListBox::logicalScroll):
3790         (WebCore::RenderListBox::setScrollTop):
3791         (WebCore::RenderListBox::destroyScrollbar):
3792         * rendering/RenderListBox.h:
3793         * rendering/RenderMenuList.cpp:
3794         (WebCore::RenderMenuList::createScrollbar):
3795         * rendering/RenderMenuList.h:
3796         * rendering/RenderScrollbar.cpp:
3797         (WebCore::RenderScrollbar::createCustomScrollbar):
3798         (WebCore::RenderScrollbar::RenderScrollbar):
3799         * rendering/RenderScrollbar.h:
3800         * rendering/RenderTextControlSingleLine.cpp:
3801         (WebCore::RenderTextControlSingleLine::createScrollbar):
3802         * rendering/RenderTextControlSingleLine.h:
3803
3804 2011-01-21  Darin Adler  <darin@apple.com>
3805
3806         Fix Leopard build.
3807
3808         * rendering/mathml/RenderMathMLFraction.cpp:
3809         (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil.
3810
3811 2011-01-21  Anton Muhin  <antonm@chromium.org>
3812
3813         Reviewed by Nate Chapin.
3814
3815         [v8] Properly deal with the case when conversion to string throws an exception for HTMLCollection accessors
3816         https://bugs.webkit.org/show_bug.cgi?id=52901
3817
3818         Test: fast/dom/htmlcollection-conversion-throws-exception.html
3819
3820         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3821         (WebCore::getItem):
3822
3823 2011-01-21  Adam Roben  <aroben@apple.com>
3824
3825         Separate flushing layer changes from rendering in CACFLayerTreeHost
3826
3827         Old model:
3828           1) A change is made to a GraphicsLayer.
3829           2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the
3830              render timer.
3831           3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the
3832              flush and then renders.
3833
3834         New model:
3835           1) A change is made to a GraphicsLayer.
3836           2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which tells the new
3837              LayerChangesFlusher singleton that this host has changes that need to be flushed.
3838           3) LayerChangesFlusher sets up a Windows hook that will get called on the next iteration
3839              of the message loop.
3840           4) LayerChangesFlusher's hook is called, which calls through to
3841              CACFLayerTreeHost::flushPendingLayerChangesNow.
3842           5) CACFLayerTreeHost::flushPendingLayerChangesNow schedules the render timer so the changes
3843              that were just flushed to the context will be rendered.
3844
3845         When a change is made to a PlatformCALayer that doesn't have a corresponding GraphicsLayer
3846         (e.g., for rendering <video>), CACFLayerTreeHost::layerTreeDidChange takes care of
3847         scheduling the flush.
3848
3849         This change has three advantages:
3850           1) Whenever we flush layer changes, we first update layout. This can cause the page to
3851              leave compositing mode, which in turn can cause all references to the CACFLayerTreeHost
3852              to be dropped. By separating flushing (and thus updating layout) from rendering, we no
3853              longer have to worry about this happen during rendering.
3854           2) The new model is much more similar to how things work on the Mac, so will hopefully
3855              reduce the number of platform-specific bugs.
3856           3) CACFLayerTreeHost::shouldRender, which was used to make sure we didn't render while a
3857              layout was pending, is no longer needed. It actually hasn't been needed since at least
3858              r75987, but removing it before now would have resulted in a crash whenever a page came
3859              out of compositing mode due to (1).
3860
3861         Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in
3862         CACFLayerTreeHost, but shouldn't be
3863
3864         Reviewed by Simon Fraser.
3865
3866         * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher.
3867
3868         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing
3869         #includes.
3870         (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
3871         (WebCore::CACFLayerTreeHost::layerTreeDidChange): If we aren't already flushing changes,
3872         schedule a flush. Removed the call to renderSoon(), which now happens when the flush is
3873         finished.
3874         (WebCore::CACFLayerTreeHost::destroyRenderer): Cancel any pending flush we had scheduled. Also
3875         fixed a bug where we'd fail to clear the context's layer.
3876         (WebCore::CACFLayerTreeHost::render): Removed code to ask the client if we should render, which
3877         is no longer needed. Moved code to flush layer changes from here to
3878         flushPendingLayerChangesNow, which is called via the above-described mechanism.
3879         (WebCore::CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon): Schedule a flush. Removed
3880         code to schedule a render, which now happens after we've flushed.
3881         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added. Some of this code came from
3882         render(). First we flush GraphicsLayer changes from GraphicsLayers to their underlying
3883         PlatformCALayers, then we flush changes from PlatformCALayers to the context, then we
3884         schedule a render so that the changes will be rendered to the screen.
3885
3886         * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed
3887         CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and
3888         m_isFlushingLayerChanges.
3889
3890         * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
3891         (WebCore::LayerChangesFlusher::shared):
3892         (WebCore::LayerChangesFlusher::LayerChangesFlusher):
3893         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
3894         (WebCore::LayerChangesFlusher::cancelPendingFlush):
3895         (WebCore::LayerChangesFlusher::hookCallback):
3896         (WebCore::LayerChangesFlusher::hookFired):
3897         (WebCore::LayerChangesFlusher::setHook):
3898         (WebCore::LayerChangesFlusher::removeHook):
3899
3900         * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
3901         (WebCore::LayerChangesFlusher::shared): Returns the singleton.
3902         (WebCore::LayerChangesFlusher::LayerChangesFlusher): Initialize our members.
3903         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): Add the host to the set of
3904         hosts with changes that need to be flushed, and set up our hook if we haven't already.
3905         (WebCore::LayerChangesFlusher::cancelPendingFlush): Remove the host from the set of hosts
3906         with changes that need to be flushed. If we have no more such hosts, remove our hook, unless
3907         we're currently in the process of calling out to our hosts, in which case we'll take care of
3908         the hook once we're done calling out.
3909         (WebCore::LayerChangesFlusher::hookCallback): This is the function that Windows calls when
3910         our hook fires. Just calls through to hookFired on the singleton.
3911         (WebCore::LayerChangesFlusher::hookFired): Tell all the hosts with changes that needed to be
3912         flushed that it's time to flush. If no hosts re-added themselves to our set during this
3913         process, remove our hook.
3914         (WebCore::LayerChangesFlusher::setHook): Calls through to ::SetWindowsHookExW.
3915         (WebCore::LayerChangesFlusher::removeHook): Calls through to ::UnhookWindowsHookEx.
3916
3917         * platform/graphics/ca/win/LayerChangesFlusher.h: Added.
3918
3919 2011-01-21  Simon Fraser  <simon.fraser@apple.com>
3920
3921         Reviewed by Sam Weinig.
3922
3923         GraphicsLayer should be non-copyable
3924         https://bugs.webkit.org/show_bug.cgi?id=52909
3925
3926         Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED
3927         on that and KeyframeValueList.
3928         
3929         * platform/graphics/GraphicsLayer.h:
3930
3931 2011-01-21  Simon Fraser  <simon.fraser@apple.com>
3932
3933         Reviewed by Sam Weinig.
3934
3935         Report the sized used by canvases and types arrays
3936         https://bugs.webkit.org/show_bug.cgi?id=52856
3937
3938         Report the memory cost associated with canvas elements,
3939         and typed arrays to JavaScript as extraCost, so that it
3940         can figure this into its GC behavior.
3941
3942         * bindings/js/JSArrayBufferViewHelper.h:
3943         (WebCore::toJSArrayBufferView): New templatized function, similar
3944         to getDOMObjectWrapper() but calls reportExtraMemoryCost() with
3945         the byteLength of the array.
3946         
3947         * bindings/js/JSFloat32ArrayCustom.cpp:
3948         (WebCore::toJS): Use toJSArrayBufferView.
3949         * bindings/js/JSInt16ArrayCustom.cpp:
3950         (WebCore::toJS): Use toJSArrayBufferView.
3951         * bindings/js/JSInt32ArrayCustom.cpp:
3952         (WebCore::toJS): Use toJSArrayBufferView.
3953         * bindings/js/JSInt8ArrayCustom.cpp:
3954         (WebCore::toJS): Use toJSArrayBufferView.
3955         * bindings/js/JSUint16ArrayCustom.cpp:
3956         (WebCore::toJS): Use toJSArrayBufferView.
3957         * bindings/js/JSUint32ArrayCustom.cpp:
3958         (WebCore::toJS): Use toJSArrayBufferView.
3959         * bindings/js/JSUint8ArrayCustom.cpp:
3960         (WebCore::toJS): Use toJSArrayBufferView.
3961
3962         * html/HTMLCanvasElement.cpp:
3963         (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost()
3964         with the size of the canvas backing store.
3965         
3966         * html/canvas/TypedArrayBase.h:
3967         (WebCore::TypedArrayBase::byteLength): byteLength needs to
3968         be public.
3969         
3970         * platform/graphics/ImageBuffer.h: Add dataSize() method.
3971         
3972         * platform/graphics/cairo/ImageBufferCairo.cpp:
3973         (WebCore::ImageBuffer::dataSize): Implement dataSize().
3974         * platform/graphics/cg/ImageBufferCG.cpp:
3975         (WebCore::ImageBuffer::dataSize): Implement dataSize().
3976         * platform/graphics/haiku/ImageBufferHaiku.cpp:
3977         (WebCore::ImageBuffer::dataSize): Implement dataSize().
3978         * platform/graphics/qt/ImageBufferQt.cpp:
3979         (WebCore::ImageBuffer::dataSize): Implement dataSize().
3980         * platform/graphics/skia/ImageBufferSkia.cpp:
3981         (WebCore::ImageBuffer::dataSize): Implement dataSize().
3982         * platform/graphics/wince/ImageBufferWinCE.cpp:
3983         (WebCore::ImageBuffer::dataSize): Implement dataSize().
3984         * platform/graphics/wx/ImageBufferWx.cpp:
3985         (WebCore::ImageBuffer::dataSize): Implement dataSize().
3986
3987 2011-01-21  Adam Roben  <aroben@apple.com>
3988
3989         Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client]
3990
3991         Also renamed a few functions and data members to match.
3992
3993         Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
3994
3995         Reviewed by Simon Fraser.
3996
3997         * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths.
3998
3999         * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include
4000         path.
4001
4002         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too.
4003
4004         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp.
4005         * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h.
4006
4007         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
4008         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
4009         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
4010         Updated for renames.
4011
4012 2011-01-21  Patrick Gansterer  <paroga@paroga.com>
4013
4014         Original patch from François Sausset  <sausset@gmail.com>
4015
4016         Reviewed by Darin Adler.
4017
4018