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