WebCore: SVGFEConvolveMatrixElement doesn't support dynamic invalidation
[WebKit-https.git] / WebCore / ChangeLog
1 2010-11-08  Renata Hodovan  <reni@webkit.org>
2
3         Reviewed by Nikolas Zimmermann.
4
5         SVGFEConvolveMatrixElement doesn't support dynamic invalidation
6         https://bugs.webkit.org/show_bug.cgi?id=47660
7
8         Wrap orderX and orderY into the common order property according to the w3 standard and remove them from svnattrs.in.
9         The patch implements the orderXIdentifier and orderYIdentifier getter functions to reach
10         properly the orderX and orderY components of order property from SVG DOM.
11
12         Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html
13                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html
14                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html
15                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html
16                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html
17                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html
18                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html
19                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html
20                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html
21                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html
22
23         * svg/SVGFEConvolveMatrixElement.cpp:
24         (WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
25         (WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
26         * svg/SVGFEConvolveMatrixElement.h:
27         * svg/svgattrs.in:
28
29 2010-11-08  Pavel Feldman  <pfeldman@chromium.org>
30
31         Not reviewed: follow up to inspector commit.
32         https://bugs.webkit.org/show_bug.cgi?id=49130
33
34         * inspector/front-end/ScriptsPanel.js:
35         (WebInspector.ScriptsPanel.prototype.reset):
36         * inspector/front-end/inspector.css:
37         (.event-bar):
38
39 2010-11-06  Pavel Feldman  <pfeldman@chromium.org>
40
41         Reviewed by Yury Semikhatsky.
42
43         Web Inspector: add more event listener breakpoint types, add support for regular breakpoint hit state, beautify hit rendering.
44         https://bugs.webkit.org/show_bug.cgi?id=49130
45
46         * English.lproj/localizedStrings.js:
47         * inspector/front-end/BreakpointManager.js:
48         (WebInspector.BreakpointManager.prototype.debuggerPaused):
49         (WebInspector.Breakpoint.jsBreakpointId):
50         (WebInspector.Breakpoint.prototype.get id):
51         * inspector/front-end/BreakpointsSidebarPane.js:
52         (WebInspector.EventListenerBreakpointsSidebarPane):
53         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
54         * inspector/front-end/ScriptsPanel.js:
55         (WebInspector.ScriptsPanel):
56         * inspector/front-end/inspector.css:
57         (#elements-sidebar):
58         (.pane > .body):
59         (#scripts-sidebar):
60         (li.breakpoint-hit .breakpoint-hit-marker):
61
62 2010-11-08  Adam Barth  <abarth@webkit.org>
63
64         Reviewed by Antti Koivisto.
65
66         Rename CachedResourceLoader::m_doc to CachedResourceLoader::m_document
67         https://bugs.webkit.org/show_bug.cgi?id=49163
68
69         The usual convention is to use "document", not "doc" to refer to the
70         document.
71
72         * css/CSSCursorImageValue.cpp:
73         (WebCore::CSSCursorImageValue::cachedImage):
74         * dom/XMLDocumentParserLibxml2.cpp:
75         (WebCore::shouldAllowExternalLoad):
76         * loader/cache/CachedResourceLoader.cpp:
77         (WebCore::CachedResourceLoader::CachedResourceLoader):
78         (WebCore::CachedResourceLoader::frame):
79         (WebCore::CachedResourceLoader::requestImage):
80         (WebCore::CachedResourceLoader::canRequest):
81         (WebCore::CachedResourceLoader::requestResource):
82         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
83         (WebCore::CachedResourceLoader::preload):
84         (WebCore::CachedResourceLoader::checkForPendingPreloads):
85         (WebCore::CachedResourceLoader::requestPreload):
86         * loader/cache/CachedResourceLoader.h:
87         (WebCore::CachedResourceLoader::document):
88         * loader/cache/MemoryCache.cpp:
89         (WebCore::MemoryCache::requestResource):
90         * loader/loader.cpp:
91         (WebCore::Loader::load):
92         (WebCore::Loader::Host::servePendingRequests):
93         (WebCore::Loader::Host::didFinishLoading):
94         (WebCore::Loader::Host::didFail):
95         * xml/XSLTProcessorLibxslt.cpp:
96         (WebCore::docLoaderFunc):
97
98 2010-11-07  Adam Barth  <abarth@webkit.org>
99
100         Unreviewed.  Remove some unneeded includes.
101
102         * loader/FrameLoader.cpp:
103         * loader/PlaceholderDocument.cpp:
104
105 2010-11-07  Adam Barth  <abarth@webkit.org>
106
107         Reviewed by Eric Seidel.
108
109         Rename Cache to MemoryCache
110         https://bugs.webkit.org/show_bug.cgi?id=49159
111
112         So sayeth the diagram.
113
114         * Android.mk:
115         * CMakeLists.txt:
116         * GNUmakefile.am:
117         * WebCore.gypi:
118         * WebCore.pro:
119         * WebCore.vcproj/WebCore.vcproj:
120         * WebCore.xcodeproj/project.pbxproj:
121         * css/CSSImageValue.cpp:
122         * dom/ContainerNode.cpp:
123         * history/PageCache.cpp:
124         * inspector/InspectorCSSStore.h:
125         * inspector/InspectorResourceAgent.cpp:
126         * loader/FrameLoader.cpp:
127         * loader/archive/cf/LegacyWebArchive.cpp:
128         * loader/cache/Cache.cpp: Removed.
129         * loader/cache/Cache.h: Removed.
130         * loader/cache/CachedCSSStyleSheet.cpp:
131         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
132         * loader/cache/CachedFont.cpp:
133         * loader/cache/CachedFont.h:
134         * loader/cache/CachedImage.cpp:
135         (WebCore::CachedImage::destroyDecodedData):
136         * loader/cache/CachedImage.h:
137         * loader/cache/CachedResource.cpp:
138         * loader/cache/CachedResource.h:
139         * loader/cache/CachedResourceLoader.cpp:
140         * loader/cache/CachedResourceLoader.h:
141         * loader/cache/CachedScript.cpp:
142         (WebCore::CachedScript::destroyDecodedData):
143         * loader/cache/MemoryCache.cpp: Copied from WebCore/loader/cache/Cache.cpp.
144         (WebCore::cache):
145         (WebCore::MemoryCache::MemoryCache):
146         (WebCore::MemoryCache::requestResource):
147         (WebCore::MemoryCache::requestUserCSSStyleSheet):
148         (WebCore::MemoryCache::revalidateResource):
149         (WebCore::MemoryCache::revalidationSucceeded):
150         (WebCore::MemoryCache::revalidationFailed):
151         (WebCore::MemoryCache::resourceForURL):
152         (WebCore::MemoryCache::deadCapacity):
153         (WebCore::MemoryCache::liveCapacity):
154         (WebCore::MemoryCache::pruneLiveResources):
155         (WebCore::MemoryCache::pruneDeadResources):
156         (WebCore::MemoryCache::setCapacities):
157         (WebCore::MemoryCache::makeResourcePurgeable):
158         (WebCore::MemoryCache::evict):
159         (WebCore::MemoryCache::addCachedResourceLoader):
160         (WebCore::MemoryCache::removeCachedResourceLoader):
161         (WebCore::MemoryCache::lruListFor):
162         (WebCore::MemoryCache::removeFromLRUList):
163         (WebCore::MemoryCache::insertInLRUList):
164         (WebCore::MemoryCache::resourceAccessed):
165         (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
166         (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
167         (WebCore::MemoryCache::addToLiveResourcesSize):
168         (WebCore::MemoryCache::removeFromLiveResourcesSize):
169         (WebCore::MemoryCache::adjustSize):
170         (WebCore::MemoryCache::TypeStatistic::addResource):
171         (WebCore::MemoryCache::getStatistics):
172         (WebCore::MemoryCache::setDisabled):
173         (WebCore::MemoryCache::dumpStats):
174         (WebCore::MemoryCache::dumpLRULists):
175         * loader/cache/MemoryCache.h: Copied from WebCore/loader/cache/Cache.h.
176         (WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction):
177         * loader/loader.cpp:
178         * page/EventSource.cpp:
179         * page/Settings.h:
180         * xml/XMLHttpRequest.cpp:
181         (WebCore::XMLHttpRequest::createRequest):
182
183 2010-11-07  Eric Seidel  <eric@webkit.org>
184
185         Unreviewed.  Attempt to fix the windows build.
186
187         Move the rest of the cache-related files into loader/cache
188         https://bugs.webkit.org/show_bug.cgi?id=49156
189
190         * WebCore.vcproj/WebCoreCommon.vsprops:
191         * WebCore.vcproj/copyForwardingHeaders.cmd:
192
193 2010-11-07  Eric Seidel  <eric@webkit.org>
194
195         Reviewed by Adam Barth.
196
197         Move the rest of the cache-related files into loader/cache
198         https://bugs.webkit.org/show_bug.cgi?id=49156
199
200         * GNUmakefile.am:
201         * WebCore.gypi:
202         * WebCore.vcproj/WebCore.vcproj:
203         * WebCore.xcodeproj/project.pbxproj:
204         * loader/CachePolicy.h: Removed.
205         * loader/CachedCSSStyleSheet.cpp: Removed.
206         * loader/CachedCSSStyleSheet.h: Removed.
207         * loader/CachedFont.cpp: Removed.
208         * loader/CachedFont.h: Removed.
209         * loader/CachedImage.cpp: Removed.
210         * loader/CachedImage.h: Removed.
211         * loader/CachedResource.cpp: Removed.
212         * loader/CachedResource.h: Removed.
213         * loader/CachedResourceClient.h: Removed.
214         * loader/CachedResourceClientWalker.cpp: Removed.
215         * loader/CachedResourceClientWalker.h: Removed.
216         * loader/CachedResourceHandle.cpp: Removed.
217         * loader/CachedResourceHandle.h: Removed.
218         * loader/CachedResourceLoader.cpp: Removed.
219         * loader/CachedResourceLoader.h: Removed.
220         * loader/CachedScript.cpp: Removed.
221         * loader/CachedScript.h: Removed.
222         * loader/CachedXSLStyleSheet.cpp: Removed.
223         * loader/CachedXSLStyleSheet.h: Removed.
224         * loader/cache/CachePolicy.h: Copied from WebCore/loader/CachePolicy.h.
225         * loader/cache/CachedCSSStyleSheet.cpp: Copied from WebCore/loader/CachedCSSStyleSheet.cpp.
226         * loader/cache/CachedCSSStyleSheet.h: Copied from WebCore/loader/CachedCSSStyleSheet.h.
227         * loader/cache/CachedFont.cpp: Copied from WebCore/loader/CachedFont.cpp.
228         * loader/cache/CachedFont.h: Copied from WebCore/loader/CachedFont.h.
229         * loader/cache/CachedImage.cpp: Copied from WebCore/loader/CachedImage.cpp.
230         * loader/cache/CachedImage.h: Copied from WebCore/loader/CachedImage.h.
231         * loader/cache/CachedResource.cpp: Copied from WebCore/loader/CachedResource.cpp.
232         * loader/cache/CachedResource.h: Copied from WebCore/loader/CachedResource.h.
233         * loader/cache/CachedResourceClient.h: Copied from WebCore/loader/CachedResourceClient.h.
234         * loader/cache/CachedResourceClientWalker.cpp: Copied from WebCore/loader/CachedResourceClientWalker.cpp.
235         * loader/cache/CachedResourceClientWalker.h: Copied from WebCore/loader/CachedResourceClientWalker.h.
236         * loader/cache/CachedResourceHandle.cpp: Copied from WebCore/loader/CachedResourceHandle.cpp.
237         * loader/cache/CachedResourceHandle.h: Copied from WebCore/loader/CachedResourceHandle.h.
238         * loader/cache/CachedResourceLoader.cpp: Copied from WebCore/loader/CachedResourceLoader.cpp.
239         * loader/cache/CachedResourceLoader.h: Copied from WebCore/loader/CachedResourceLoader.h.
240         * loader/cache/CachedScript.cpp: Copied from WebCore/loader/CachedScript.cpp.
241         * loader/cache/CachedScript.h: Copied from WebCore/loader/CachedScript.h.
242         * loader/cache/CachedXSLStyleSheet.cpp: Copied from WebCore/loader/CachedXSLStyleSheet.cpp.
243         * loader/cache/CachedXSLStyleSheet.h: Copied from WebCore/loader/CachedXSLStyleSheet.h.
244
245 2010-11-07  Adam Barth  <abarth@webkit.org>
246
247         Reviewed by Eric Seidel.
248
249         Rename X-Purpose to Purpose
250         https://bugs.webkit.org/show_bug.cgi?id=47802
251
252         As requested by IETF HTTP WG.  This patch is part of a larger movement
253         in the HTTP community to move away from X- headers.  Various senior
254         folks at the IETF believe they're a failed experiment:
255
256         http://tools.ietf.org/html/draft-saintandre-xdash-considered-harmful
257
258         * loader/loader.cpp:
259         (WebCore::Loader::Host::servePendingRequests):
260
261 2010-11-07  Daniel Bates  <dbates@rim.com>
262
263         Reviewed by Adam Barth.
264
265         Assert that a non-null PassRefPtr<Document> has a non-null frame in Frame::setDocument()
266         https://bugs.webkit.org/show_bug.cgi?id=49152
267
268         Add an ASSERT to ensure that a non-null Document has a non-null Frame
269         in Frame::setDocument().
270
271         Currently, whenever Frame::setDocument() is called with a non-null
272         Document the Document has a non-null Frame. We should assert this
273         invariant.
274
275         * page/Frame.cpp:
276         (WebCore::Frame::setDocument):
277
278 2010-11-07  Eric Seidel  <eric@webkit.org>
279
280         Reviewed by Adam Barth.
281
282         Move Cache.* into loader/cache in as a start to cleaning up loader/
283         https://bugs.webkit.org/show_bug.cgi?id=49153
284
285         * Android.mk:
286         * CMakeLists.txt:
287         * GNUmakefile.am:
288         * WebCore.gypi:
289         * WebCore.pro:
290         * WebCore.vcproj/WebCore.vcproj:
291         * WebCore.xcodeproj/project.pbxproj:
292         * loader/cache/Cache.cpp: Renamed from WebCore/loader/Cache.cpp.
293         (WebCore::cache):
294         (WebCore::Cache::Cache):
295         (WebCore::createResource):
296         (WebCore::Cache::requestResource):
297         (WebCore::Cache::requestUserCSSStyleSheet):
298         (WebCore::Cache::revalidateResource):
299         (WebCore::Cache::revalidationSucceeded):
300         (WebCore::Cache::revalidationFailed):
301         (WebCore::Cache::resourceForURL):
302         (WebCore::Cache::deadCapacity):
303         (WebCore::Cache::liveCapacity):
304         (WebCore::Cache::pruneLiveResources):
305         (WebCore::Cache::pruneDeadResources):
306         (WebCore::Cache::setCapacities):
307         (WebCore::Cache::makeResourcePurgeable):
308         (WebCore::Cache::evict):
309         (WebCore::Cache::addCachedResourceLoader):
310         (WebCore::Cache::removeCachedResourceLoader):
311         (WebCore::fastLog2):
312         (WebCore::Cache::lruListFor):
313         (WebCore::Cache::removeFromLRUList):
314         (WebCore::Cache::insertInLRUList):
315         (WebCore::Cache::resourceAccessed):
316         (WebCore::Cache::removeFromLiveDecodedResourcesList):
317         (WebCore::Cache::insertInLiveDecodedResourcesList):
318         (WebCore::Cache::addToLiveResourcesSize):
319         (WebCore::Cache::removeFromLiveResourcesSize):
320         (WebCore::Cache::adjustSize):
321         (WebCore::Cache::TypeStatistic::addResource):
322         (WebCore::Cache::getStatistics):
323         (WebCore::Cache::setDisabled):
324         (WebCore::Cache::dumpStats):
325         (WebCore::Cache::dumpLRULists):
326         * loader/cache/Cache.h: Renamed from WebCore/loader/Cache.h.
327         (WebCore::Cache::LRUList::LRUList):
328         (WebCore::Cache::TypeStatistic::TypeStatistic):
329         (WebCore::Cache::loader):
330         (WebCore::Cache::disabled):
331         (WebCore::Cache::setPruneEnabled):
332         (WebCore::Cache::prune):
333         (WebCore::Cache::setDeadDecodedDataDeletionInterval):
334         (WebCore::Cache::deadDecodedDataDeletionInterval):
335         (WebCore::Cache::remove):
336         (WebCore::Cache::shouldMakeResourcePurgeableOnEviction):
337
338 2010-11-05  Helder Correia  <helder@sencha.com>
339
340         Reviewed by Andreas Kling.
341
342         [Qt] box-shadow does not blur (is solid) when using border-radius
343         https://bugs.webkit.org/show_bug.cgi?id=46327
344
345         Implement blurred box-shadow when styling with border-radius.
346         This change is related to https://bugs.webkit.org/show_bug.cgi?id=44488
347
348         * platform/graphics/qt/GraphicsContextQt.cpp:
349         (WebCore::GraphicsContext::fillRoundedRect):
350
351 2010-11-07  John Reck  <jreck@google.com>
352
353         Reviewed by Steve Block.
354
355         Implements navigator.language for Android
356         https://bugs.webkit.org/show_bug.cgi?id=49099
357         
358         Android was previously hardcoding the value for WebCore::platformDefaultLanguage().
359         This patch removes the hardcoding and calls into the PlatformBridge to get the
360         correct language based off of the user's settings.
361
362         No new tests needed, this is already covered
363
364         * Android.mk:
365         * platform/android/LanguageAndroid.cpp: Added.
366         (WebCore::platformDefaultLanguage):
367         * platform/android/PlatformBridge.h:
368         * platform/android/TemporaryLinkStubs.cpp:
369
370 2010-11-07  Robert Hogan  <robert@webkit.org>
371
372         Reviewed by Andreas Kling.
373
374         [qt] screenDepthPerComponent returns the wrong value
375
376         Return best estimate of the number of bits per color
377         rather than screen depth.
378
379         Add a layout test to sanity check screenDepthPerComponent.
380
381         https://bugs.webkit.org/show_bug.cgi?id=20289
382
383         Test: fast/css/media-rule-screenDepthPerComponent.html
384
385         * platform/qt/PlatformScreenQt.cpp:
386         (WebCore::screenDepthPerComponent):
387
388 2010-11-07  Chang Shu  <chang.shu@nokia.com>
389
390         Reviewed by Antonio Gomes.
391
392         Add a helper function to avoid duplicated code.
393         https://bugs.webkit.org/show_bug.cgi?id=49085
394
395         * dom/SelectElement.cpp:
396         * editing/SelectionController.cpp:
397         (WebCore::SelectionController::modify):
398         * html/HTMLInputElement.cpp:
399         (WebCore::HTMLInputElement::isKeyboardFocusable):
400         * page/EventHandler.cpp:
401         (WebCore::EventHandler::defaultArrowEventHandler):
402         * page/SpatialNavigation.cpp:
403         (WebCore::isSpatialNavigationEnabled):
404         * page/SpatialNavigation.h:
405
406 2010-11-06  Pavel Feldman  <pfeldman@chromium.org>
407
408         Reviewed by Simon Fraser.
409
410         Web Inspector: Some image resources don't display the image when selected in the Resources panel.
411         https://bugs.webkit.org/show_bug.cgi?id=48935
412
413         Marked resources loaded from memory cache as finished.
414
415         * inspector/front-end/ResourceManager.js:
416         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
417
418 2010-11-06  Pavel Feldman  <pfeldman@chromium.org>
419
420         Reviewed by Timothy Hatcher.
421
422         Web Inspector: XHR logging is not checked in context menu after browser restart.
423         https://bugs.webkit.org/show_bug.cgi?id=49133
424
425         * inspector/InspectorState.cpp:
426         (WebCore::InspectorState::InspectorState):
427
428 2010-11-06  Ryosuke Niwa  <rniwa@webkit.org>
429
430         Unreviewed Windows build fix.
431
432         * editing/EditingAllInOne.cpp: Added EditingStyle.cpp
433
434 2010-11-04  Ryosuke Niwa  <rniwa@webkit.org>
435
436         Reviewed by Darin Adler.
437
438         Bug 46335 - Add EditingStyle
439         https://bugs.webkit.org/show_bug.cgi?id=46335
440
441         Added EditingStyle to WebCore/editing.  This class is intended to encapsulate getPropertiesNotIn, removeNonEditingProperties,
442         editingStyleAtPosition, and prepareEditingStyleToApplyAt in ApplyStyleCommand.cpp once deployed everywhere.
443         Deployed it in typing styles.
444
445         No new tests are added since this is a refactoring in progress.
446
447         * CMakeLists.txt: Added EditingStyle.cpp
448         * GNUmakefile.am: Added EditingStyle.cpp and EditingStyle.h
449         * WebCore.gypi: Ditto.
450         * WebCore.pro: Ditto.
451         * WebCore.xcodeproj/project.pbxproj: Ditto.
452         * editing/CompositeEditCommand.cpp:
453         (WebCore::CompositeEditCommand::moveParagraphs): Calls editingStyleIncludingTypingStyle.
454         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses EditingStyle.
455         * editing/DeleteSelectionCommand.cpp:
456         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
457         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
458         * editing/DeleteSelectionCommand.h:
459         * editing/EditingStyle.cpp: Added.
460         (WebCore::editingStyleFromComputedStyle): Added.
461         (WebCore::EditingStyle::EditingStyle): Added.
462         (WebCore::EditingStyle::init): Added; a clone of ApplyStyleCommand::editingStyleAtPosition.
463         (WebCore::EditingStyle::removeTextFillAndStrokeColorsIfNeeded): Extracted from init.
464         (WebCore::EditingStyle::replaceFontSizeByKeywordIfPossible): Extracted from init.
465         (WebCore::EditingStyle::isEmpty): Added.
466         (WebCore::EditingStyle::setStyle): Added.
467         (WebCore::EditingStyle::clear): Added.
468         (WebCore::EditingStyle::removeBlockProperties): Added.
469         (WebCore::EditingStyle::prepareToApplyAt): Added.
470         (WebCore::editingStyleIncludingTypingStyle): Added.
471         * editing/EditingStyle.h: Added.
472         (WebCore::EditingStyle::create): Added.
473         (WebCore::EditingStyle::style): Added.
474         * editing/RemoveFormatCommand.cpp:
475         (WebCore::RemoveFormatCommand::doApply): Uses EditingStyle.
476         * editing/SelectionController.h:
477         (WebCore::SelectionController::typingStyle): Uses EditingStyle.
478         (WebCore::SelectionController::clearTypingStyle): Uses EditingStyle.
479         (WebCore::SelectionController::setTypingStyle): Uses EditingStyle.
480         * rendering/style/RenderStyle.h: Added EditingStyle as a friend.
481
482 2010-11-05  David Hyatt  <hyatt@apple.com>
483
484         Reviewed by Dan Bernstein and Simon Fraser.
485
486         https://bugs.webkit.org/show_bug.cgi?id=47237
487         
488         Make selection work with vertical text.  This patch fixes a bug in the computation of lineTop.  For lines
489         with positive leading, lineTop was incorrectly including the top leading.  Since the flipping of lines
490         for "lr" and "bt" writing modes involved flipping using lineTop and lineBottom, an incorrect lineTop meant
491         that those modes were mis-rendering.  This is why the Japanese "lr" text examples have the first line smushed
492         too far against the border.
493         
494         Fixing lineTop to no longer incorrectly include top leading has implications for editing.  I ended up
495         rewriting positionForPoint to exactly match selection, since that seemed to be the most intuitive
496         behavior.  I got rid of the verticalClickFudgeFactor and now just use selectionTop and selectionBottom
497         instead of lineTop and lineBottom.  I am pretty sure the code used selectionTop in a previous incarnation
498         anyway and that I moved away from it when I implemented lineTop and lineBottom.  The code then grew
499         more complicated from people trying to work with lineTop and lineBottom, but going back to selectionTop
500         and selectionBottom is the right behavior I think.  One editing test has been updated after this change
501         (editing/selection/after-line-break.html), and one DOM test has been changed to not hit test past the
502         bottom of a line (fast/dom/Document/CaretRangeFromPoint/basic.html).
503         
504         I patched selection painting of InlineTextBoxes so that the leading going up to the next line box is used
505         for "lr" and "bt" modes instead of the previous box.  This makes sense for English text, but we may want
506         a different policy for Japanese text eventually (possibly just splitting the difference instead).  Leaving it
507         this way for now, and we can collect feedback on the design.
508         
509         I rewrote all of the selection gap painting code to be writing-mode aware.  During the course of rewriting this
510         code I noticed a bug in the logicalLeftSelectionOffset and logicalRightSelectionOffset functions where there
511         was a coordinate space mismatch on a comparison.  Fixing this improves the repaint/selection-clear.html test.
512
513         Added new tests in fast/blockflow/.
514
515         * rendering/InlineFlowBox.cpp:
516         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
517         * rendering/InlineFlowBox.h:
518         * rendering/InlineTextBox.cpp:
519         (WebCore::InlineTextBox::selectionBottom):
520         (WebCore::InlineTextBox::paintSelection):
521         (WebCore::InlineTextBox::paintCompositionBackground):
522         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
523         (WebCore::InlineTextBox::paintTextMatchMarker):
524         * rendering/InlineTextBox.h:
525         * rendering/RenderBlock.cpp:
526         (WebCore::RenderBlock::selectionGapRectsForRepaint):
527         (WebCore::RenderBlock::paintSelection):
528         (WebCore::clipOutPositionedObjects):
529         (WebCore::blockDirectionOffset):
530         (WebCore::inlineDirectionOffset):
531         (WebCore::RenderBlock::logicalRectToPhysicalRect):
532         (WebCore::RenderBlock::selectionGaps):
533         (WebCore::RenderBlock::inlineSelectionGaps):
534         (WebCore::RenderBlock::blockSelectionGaps):
535         (WebCore::RenderBlock::blockSelectionGap):
536         (WebCore::RenderBlock::logicalLeftSelectionGap):
537         (WebCore::RenderBlock::logicalRightSelectionGap):
538         (WebCore::RenderBlock::logicalLeftSelectionOffset):
539         (WebCore::RenderBlock::logicalRightSelectionOffset):
540         * rendering/RenderBlock.h:
541         * rendering/RenderBox.cpp:
542         (WebCore::RenderBox::flipForWritingMode):
543         * rendering/RenderBox.h:
544         (WebCore::RenderBox::logicalBottom):
545         * rendering/RootInlineBox.cpp:
546         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
547         (WebCore::RootInlineBox::lineSelectionGap):
548         (WebCore::RootInlineBox::selectionTop):
549         (WebCore::RootInlineBox::selectionBottom):
550         * rendering/RootInlineBox.h:
551
552 2010-11-05  Simon Fraser  <simon.fraser@apple.com>
553
554         Just put things back the way they were. Too many mysterious linker errors.
555
556 2010-11-05  Simon Fraser  <simon.fraser@apple.com>
557
558         Undo most of the previous commit since the compiler seems to have trouble
559         with an inlined operator++ in debug builds.
560
561         * platform/DeprecatedPtrListImpl.cpp:
562         (WebCore::DeprecatedPtrListImplIterator::operator++):
563         * platform/DeprecatedPtrListImpl.h:
564
565 2010-11-05  Simon Fraser  <simon.fraser@apple.com>
566
567         Reviewed by Dave Hyatt.
568
569         Inline some DeprecatedPtrListImplIterator methods for performance
570         https://bugs.webkit.org/show_bug.cgi?id=49124
571
572         This is a ~4% performance improvement on some Peacekeepr "Community" tests.
573
574         * platform/DeprecatedPtrListImpl.cpp:
575         * platform/DeprecatedPtrListImpl.h:
576         (WebCore::DeprecatedListNode::DeprecatedListNode):
577         (WebCore::DeprecatedPtrListImplIterator::current):
578         (WebCore::DeprecatedPtrListImplIterator::operator++):
579
580 2010-11-05  Adam Barth  <abarth@webkit.org>
581
582         Reviewed by Eric Seidel.
583
584         Gray-scale PNGs with color profiles don't decode properly on Chromium Mac
585         https://bugs.webkit.org/show_bug.cgi?id=49110
586
587         Applying the color profile from this PNG was causing the image to
588         triple in width.  This seems to be because both the PNG decoder and
589         CoreGraphics were trying to expand the gray-scale image to RGB.  To fix
590         this issue, I've disabled color profile support for gray-scale PNGs.
591
592         Test: fast/images/gray-scale-png-with-color-profile.html
593
594         * platform/image-decoders/png/PNGImageDecoder.cpp:
595         (WebCore::PNGImageDecoder::headerAvailable):
596
597 2010-11-05  Jian Li  <jianli@chromium.org>
598
599         Reviewed by Dmitry Titov.
600
601         Need to check if page is detached in Frame::transferChildFrameToNewDocument to avoid occasional crash
602         https://bugs.webkit.org/show_bug.cgi?id=49116
603
604         The fix is to add the check.
605
606         * page/Frame.cpp:
607         (WebCore::Frame::transferChildFrameToNewDocument):
608
609 2010-11-04  Enrica Casucci  <enrica@apple.com>
610
611         Reviewed by Adele Peterson.
612
613         Pasting large amounts of plain text in a text area is very slow
614         https://bugs.webkit.org/show_bug.cgi?id=49040
615         <rdar://problem/7640912>
616         
617         The optimization consists in skipping the ApplyStyle command when
618         pasting into a text area or into an element that has -webkit-user-modify: read-write-plaintext-only.
619         The biggest performance hit comes from iterating through
620         a large number of paragraph when no style change is needed.
621         A further step will be to improve the paragraph iteration when it
622         can't be avoided.
623         
624         * editing/ReplaceSelectionCommand.cpp:
625         (WebCore::ReplaceSelectionCommand::doApply): Check if the selection
626         is in a text form control or in an element that has -webkit-user-modify: read-write-plaintext-only
627         and force no style matching.
628
629 2010-11-05  Ryosuke Niwa  <rniwa@webkit.org>
630
631         Reviewed by David Levin.
632
633         JSCallbackData::invokeCallback triggers layout from a worker thread
634         https://bugs.webkit.org/show_bug.cgi?id=49096
635
636         Fixed the bug by only calling updateStyleForAllDocuments when the context is document in
637         JSCallbackData::invokeCallback.
638
639         No new tests are added since many of existing workers tests hit the added assertion in debug builds.
640
641         * bindings/js/JSCallbackData.cpp:
642         (WebCore::JSCallbackData::invokeCallback): No longer calls updateStyleForAllDocuments unconditionally.
643         * dom/Document.cpp:
644         (WebCore::Document::updateStyleIfNeeded): Added ASSERT(isMainThread()).
645         (WebCore::Document::updateStyleForAllDocuments): Ditto.
646         (WebCore::Document::updateLayout): Ditto.
647
648 2010-11-05  Ilya Sherman  <isherman@chromium.org>
649
650         Reviewed by Simon Fraser.
651
652         Querying selection start and end should be const
653         https://bugs.webkit.org/show_bug.cgi?id=48786
654
655         * rendering/RenderTextControl.cpp:
656         (WebCore::RenderTextControl::selectionStart):
657         (WebCore::RenderTextControl::selectionEnd):
658         (WebCore::RenderTextControl::visiblePositionForIndex):
659         (WebCore::RenderTextControl::indexForVisiblePosition):
660         * rendering/RenderTextControl.h:
661
662 2010-11-05  Chris Marrin  <cmarrin@apple.com>
663
664         Reviewed by Simon Fraser.
665
666         Move resumeAnimations/suspendAnimations from Frame to AnimationController.
667         https://bugs.webkit.org/show_bug.cgi?id=49073
668
669         Changed the name of suspendAnimations/resumeAnimations to
670         suspendAnimationsInDocument/resumeAnimationsInDocument. These are no
671         longer exported, but have the same functionality as before. I then
672         added new suspendAnimations/resumeAnimations function which take
673         no params and suspend/resume on the frame owning the animation
674         controller and all its child frames. These are the functions that
675         are now exported. I then changed all the platform specific WebKit
676         code to use these functions.
677
678         * WebCore.exp.in:
679         * page/Frame.cpp:
680         * page/Frame.h:
681         * page/animation/AnimationController.cpp:
682         (WebCore::AnimationControllerPrivate::suspendAnimations):
683         (WebCore::AnimationControllerPrivate::resumeAnimations):
684
685 2010-11-04  Zhenyao Mo  <zmo@google.com>
686
687         Reviewed by Kenneth Russell.
688
689         Need to simulate DEPTH_STENCIL in framebufferRenderbuffer / getFramebufferAttachmentParameter
690         https://bugs.webkit.org/show_bug.cgi?id=49020
691
692         * html/canvas/WebGLFramebuffer.cpp:
693         (WebCore::WebGLFramebuffer::getAttachment): Return the attached renderbuffer/texture.
694         (WebCore::WebGLFramebuffer::isIncomplete): Add an extra parameter deciding whether we should check internal format matching the attachment point or not.
695         (WebCore::WebGLFramebuffer::onAccess): Pass extra parameter in isIncomplete.
696         * html/canvas/WebGLFramebuffer.h:
697         * html/canvas/WebGLRenderingContext.cpp:
698         (WebCore::WebGLRenderingContext::checkFramebufferStatus): Pass extra parameter in isIncomplete.
699         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Emulate DEPTH_STENCIL_ATTACHMENT; re-attach previously conflicted buffers upon detachment.
700         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Throw an error when conflicted attachments exist.
701         (WebCore::WebGLRenderingContext::renderbufferStorage): Map DEPTH_STENCIL to DEPTH24_STENCIL8.
702         * platform/graphics/Extensions3D.h: Add DEPTH24_STENCIL8 enum and update the documentation.
703         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
704         (WebCore::GraphicsContext3D::framebufferRenderbuffer): Remove emulation code at this level.
705
706 2010-11-05  Chris Guillory  <chris.guillory@google.com>
707
708         Reviewed by Chris Fleizach.
709
710         Keep a reference to the scrollbar in accessibility scrollbar.
711         https://bugs.webkit.org/show_bug.cgi?id=48896
712
713         * accessibility/AccessibilityScrollbar.h:
714         (WebCore::AccessibilityScrollbar::scrollbar):
715
716 2010-11-05  Chang Shu  <chang.shu@nokia.com>
717
718         Reviewed by Antonio Gomes.
719
720         Add support for <select> element in single selection mode. We use space to
721         trigger arrow key handling for selection change or spatial navigation.
722         https://bugs.webkit.org/show_bug.cgi?id=48937
723
724         * dom/SelectElement.cpp:
725         (WebCore::isSpatialNavigationEnabled):
726         (WebCore::SelectElement::menuListDefaultEventHandler):
727         (WebCore::SelectElement::listBoxDefaultEventHandler):
728
729 2010-11-05  Charlie Reis  <creis@chromium.org>
730
731         Reviewed by Darin Fisher.
732
733         Need to expose HistoryController::previousItem() for Chromium WebKit API.
734         https://bugs.webkit.org/show_bug.cgi?id=48809
735
736         * loader/HistoryController.h:
737
738 2010-11-05  Ryosuke Niwa  <rniwa@webkit.org>
739
740         Reviewed by Darin Adler.
741
742         Crash in ApplyStyleCommand::surroundNodeRangeWithElement
743         https://bugs.webkit.org/show_bug.cgi?id=48581
744
745         The crash was caused by a false assertion that we can always recover selection in
746         ApplyStyleCommand::removeInlineStyle.  Fixed the crash by removing the assertion
747         and adding an early exit to the call site.  Also converted raw pointers to RefPtr
748         in surroundNodeRangeWithElement and addInlineStyleIfNeeded.
749
750         Test (non-Mac platforms): editing/style/iframe-onload-crash.html
751
752         * editing/ApplyStyleCommand.cpp:
753         (WebCore::ApplyStyleCommand::applyInlineStyle):
754         (WebCore::ApplyStyleCommand::removeInlineStyle):
755         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
756         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
757         * editing/ApplyStyleCommand.h:
758
759 2010-11-04  Alexey Proskuryakov  <ap@apple.com>
760
761         Reviewed by Darin Adler.
762
763         https://bugs.webkit.org/show_bug.cgi?id=49008
764         <rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp
765
766         Instance::m_runtimeObject used to be zeroed out by RuntimeObject destructor. But the
767         destructor may not be called immediately - GC first marks an object as dead, and only 
768         destroys it when its cell is overwritten. So, m_runtimeObject would keep pointing to a dead
769         object.
770
771         Functions in JSPluginElementFunctions.cpp put the RuntimeObject on stack for later use,
772         but if it's already dead, it can be overwritten before use.
773
774         The solution is of course to use WeakGCPtr, which returns 0 for dead objects.
775
776         * bridge/jsc/BridgeJSC.cpp:
777         (JSC::Bindings::Instance::Instance):
778         (JSC::Bindings::Instance::~Instance):
779         (JSC::Bindings::Instance::createRuntimeObject):
780         (JSC::Bindings::Instance::willDestroyRuntimeObject):
781         (JSC::Bindings::Instance::willInvalidateRuntimeObject):
782         * bridge/jsc/BridgeJSC.h:
783         * bridge/runtime_object.cpp:
784         (JSC::Bindings::RuntimeObject::~RuntimeObject):
785         (JSC::Bindings::RuntimeObject::invalidate):
786
787 2010-11-05  Chris Marrin  <cmarrin@apple.com>
788
789         Reviewed by Simon Fraser.
790
791         Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
792         https://bugs.webkit.org/show_bug.cgi?id=46945
793
794         Add new funtions to suspend and resume animations. The go through all subframes and suspend or resume them
795         recursively.
796
797         Test: animations/stop-animation-on-suspend.html
798
799         * WebCore.exp.in:
800         * page/Frame.cpp:
801         (WebCore::Frame::suspendAnimations):
802         (WebCore::Frame::resumeAnimations):
803         * page/Frame.h:
804
805 2010-11-05  Pavel Feldman  <pfeldman@chromium.org>
806
807         Reviewed by Timothy Hatcher.
808
809         Web Inspector: Crash in InspectorDOMAgent::innerParentNode.
810         https://bugs.webkit.org/show_bug.cgi?id=49054
811
812         * inspector/InspectorDOMAgent.cpp:
813         (WebCore::InspectorDOMAgent::setOuterHTML):
814
815 2010-11-05  Pavel Feldman  <pfeldman@chromium.org>
816
817         Reviewed by Timothy Hatcher.
818
819         Web Inspector: XHR logging in console should give complete view of resource.
820         https://bugs.webkit.org/show_bug.cgi?id=48998
821
822         Drive-by fixes: linkify line number to scripts panel, fall back to resources;
823         enable multiline console entry on shift modifier as well.
824         
825         * inspector/front-end/NetworkPanel.js:
826         (WebInspector.NetworkPanel):
827         (WebInspector.NetworkPanel.prototype._reset):
828         (WebInspector.NetworkPanel.prototype.refreshResource):
829         (WebInspector.NetworkPanel.prototype.canShowSourceLine):
830         (WebInspector.NetworkPanel.prototype.showSourceLine):
831         * inspector/front-end/StoragePanel.js:
832         (WebInspector.StoragePanel.prototype.show):
833         (WebInspector.StoragePanel.prototype.showSourceLine):
834         * inspector/front-end/inspector.js:
835         (WebInspector.showPanel):
836         (WebInspector.linkifyStringAsFragment):
837
838 2010-10-27  Jeremy Orlow  <jorlow@chromium.org>
839
840         Reviewed by Steve Block.
841
842         Clean up IDBTransactionBackend/Coordinator
843         https://bugs.webkit.org/show_bug.cgi?id=48425
844
845         Get rid of obsolete id and thus we don't need the factory method
846         on IDBTransactionCoordinator that creates IDBTransactionBackends.
847
848         Add an assert to IDBTransactionBackend to make sure we're not in
849         the coordinator and then remove the coordinators ref counting link
850         to the transaction.
851
852         Have the transaction backend zero out refs to the database when its
853         done using it.
854
855         Existing tests provide coverage for this refactoring.
856
857         * storage/IDBDatabaseBackendImpl.cpp:
858         (WebCore::IDBDatabaseBackendImpl::setVersion):
859         (WebCore::IDBDatabaseBackendImpl::transaction):
860         * storage/IDBTransactionBackendImpl.cpp:
861         (WebCore::IDBTransactionBackendImpl::create):
862         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
863         (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
864         (WebCore::IDBTransactionBackendImpl::abort):
865         (WebCore::IDBTransactionBackendImpl::commit):
866         * storage/IDBTransactionBackendImpl.h:
867         * storage/IDBTransactionBackendInterface.h:
868         * storage/IDBTransactionCoordinator.cpp:
869         (WebCore::IDBTransactionCoordinator::didStartTransaction):
870         (WebCore::IDBTransactionCoordinator::didFinishTransaction):
871         (WebCore::IDBTransactionCoordinator::isActive):
872         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
873         * storage/IDBTransactionCoordinator.h:
874
875 2010-10-27  Jeremy Orlow  <jorlow@chromium.org>
876
877         Reviewed by Steve Block.
878
879         IDBFactoryBackend's reference to IDBDatabaseBackend should be weak
880         https://bugs.webkit.org/show_bug.cgi?id=48416
881
882         The factory's lifetime is that of the application, so without making
883         this weak, IDBDatabaseBackend's will never be closed until the app
884         terminates.
885
886         * storage/IDBDatabaseBackendImpl.cpp:
887         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
888         (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
889         * storage/IDBDatabaseBackendImpl.h:
890         (WebCore::IDBDatabaseBackendImpl::create):
891         * storage/IDBFactoryBackendImpl.cpp:
892         (WebCore::IDBFactoryBackendImpl::removeIDBDatabaseBackend):
893         (WebCore::IDBFactoryBackendImpl::removeSQLiteDatabase):
894         (WebCore::IDBFactoryBackendImpl::open):
895         * storage/IDBFactoryBackendImpl.h:
896
897 2010-10-27  Jeremy Orlow  <jorlow@chromium.org>
898
899         Reviewed by Steve Block.
900
901         IDBObjectStoreBackend and IDBIndexBackend should not depend on IDBDatabaseBackend
902         https://bugs.webkit.org/show_bug.cgi?id=48410
903
904         Break dependency cyles between IDBDatabaseBackend and the other classes listed.
905         This was causing memory leaks.
906
907         * storage/IDBCursorBackendImpl.cpp:
908         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
909         (WebCore::IDBCursorBackendImpl::updateInternal):
910         (WebCore::IDBCursorBackendImpl::removeInternal):
911         (WebCore::IDBCursorBackendImpl::database):
912         * storage/IDBCursorBackendImpl.h:
913         (WebCore::IDBCursorBackendImpl::create):
914         * storage/IDBDatabaseBackendImpl.cpp:
915         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
916         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
917         * storage/IDBIndexBackendImpl.cpp:
918         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
919         (WebCore::IDBIndexBackendImpl::openCursorInternal):
920         (WebCore::IDBIndexBackendImpl::sqliteDatabase):
921         * storage/IDBIndexBackendImpl.h:
922         (WebCore::IDBIndexBackendImpl::create):
923         (WebCore::IDBIndexBackendImpl::storeName):
924         * storage/IDBObjectStoreBackendImpl.cpp:
925         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
926         (WebCore::IDBObjectStoreBackendImpl::createIndex):
927         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
928         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
929         (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
930         * storage/IDBObjectStoreBackendImpl.h:
931         (WebCore::IDBObjectStoreBackendImpl::create):
932
933 2010-11-05  Pavel Feldman  <pfeldman@chromium.org>
934
935         Reviewed by Timothy Hatcher.
936
937         Web Inspector: inspector lags on large resources with numerous <script> tags.
938         https://bugs.webkit.org/show_bug.cgi?id=49060
939
940         * inspector/front-end/ScriptsPanel.js:
941         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
942
943 2010-11-05  Patrick Gansterer  <paroga@webkit.org>
944
945         Reviewed by David Kilzer.
946
947         Replace ARRAYSIZE with WTF_ARRAY_LENGTH
948         https://bugs.webkit.org/show_bug.cgi?id=48903
949
950         * platform/UUID.cpp:
951         (WebCore::createCanonicalUUIDString):
952         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
953         (WebCore::FontCache::getFontDataForCharacters):
954         * platform/graphics/win/FontCacheWin.cpp:
955         (WebCore::FontCache::getLastResortFallbackFont):
956         * platform/graphics/win/IconWin.cpp:
957         (WebCore::Icon::createIconForFiles):
958         * platform/win/ClipboardUtilitiesWin.cpp:
959         (WebCore::getWebLocData):
960         * platform/win/ClipboardWin.cpp:
961         (WebCore::createGlobalHDropContent):
962         (WebCore::createGlobalImageFileDescriptor):
963         (WebCore::ClipboardWin::files):
964         (WebCore::ClipboardWin::writeURL):
965         * platform/win/DragDataWin.cpp:
966         (WebCore::DragData::asFilenames):
967         * platform/win/FileSystemWin.cpp:
968         (WebCore::safeCreateFile):
969
970 2010-11-05  Roland Steiner  <rolandsteiner@chromium.org>
971
972         Reviewed by Dirk Schulze.
973
974         Bug 48979 - [Chromium] SVGListPropertyTearOff.h: function commitChange ASSERTs on Win & Mac
975         https://bugs.webkit.org/show_bug.cgi?id=48979
976
977         Function removeItemValuesAndWrappers(): Move code out of 'if' statement so that
978         'wrappers' and 'values' stay synced.
979
980         test: svg/dom/baseVal-animVal-crash.html doesn't ASSERT
981
982         * svg/properties/SVGListProperty.h:
983         (WebCore::SVGListProperty::removeItemValuesAndWrappers):
984
985 2010-11-05  John Reck  <jreck@google.com>
986
987         Reviewed by Nikolas Zimmermann.
988
989         The change to SVGPropertyTearOff by CodeGeneratorV8.pm caused two build failures
990         for Android. One was a missing SVGPropertyTearOff.h include, the other was a 
991         missing forward declaration of FloatRect. Seems to be the result of:
992         https://bugs.webkit.org/show_bug.cgi?id=48204
993
994         Bug: https://bugs.webkit.org/show_bug.cgi?id=49025
995
996         No tests needed, fixes build issue.
997
998         * bindings/scripts/CodeGeneratorV8.pm:
999
1000 2010-11-05  Rob Buis  <rwlbuis@gmail.com>
1001
1002         Reviewed by David Hyatt.
1003
1004         CSSRule#parentRule always null
1005         https://bugs.webkit.org/show_bug.cgi?id=46228
1006
1007         Ensure MediaList child rules have the MediaList set as parent
1008         in order to correct their parentRule correctness.
1009
1010         Test: fast/dom/css-mediarule-parentRule.html
1011
1012         * css/CSSMediaRule.cpp:
1013         (WebCore::CSSMediaRule::CSSMediaRule):
1014
1015 2010-11-04  Xan Lopez  <xlopez@igalia.com>
1016
1017         Fix the GTK+ build.
1018
1019         * GNUmakefile.am:
1020
1021 2010-10-20  Chang Shu  <chang.shu@nokia.com>, Antonio Gomes <tonikitoo@webkit.org>
1022
1023         Reviewed by Simon Fraser.
1024
1025         [Qt] Makes <input type=text> and <textarea> functional with
1026         Spatial Navigation enabled. Before this patch, the focus cannot
1027         move away from input box once it is in. This patch allows focus
1028         move to neighbor nodes when the caret reaches the edge of the texts.
1029         This patch does not support yet cases where the focused <input>
1030         has a JS handler for the arrow keys.
1031         https://bugs.webkit.org/show_bug.cgi?id=37153
1032
1033         Tests: fast/events/spatial-navigation/snav-input.html
1034                fast/events/spatial-navigation/snav-textarea.html
1035
1036         * editing/EditorCommand.cpp:
1037         (WebCore::executeMoveDown):
1038         (WebCore::executeMoveLeft):
1039         (WebCore::executeMoveRight):
1040         (WebCore::executeMoveUp):
1041         * editing/SelectionController.cpp:
1042         (WebCore::SelectionController::modify):
1043
1044 2010-11-04  Dan Bernstein  <mitz@apple.com>
1045
1046         Build fix.
1047
1048         * editing/Editor.cpp:
1049         (WebCore::Editor::dismissCorrectionPanel):
1050
1051 2010-11-04  Jia Pu  <jpu@apple.com>
1052
1053         Reviewed by Dan Bernstein.
1054
1055         reversion bubble in WebViews
1056         https://bugs.webkit.org/show_bug.cgi?id=47630
1057         <rdar://problem/8530960>
1058
1059         Added manual test:
1060         manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html
1061         manual-tests/autocorrection/delete-to-dismiss-reversion.html
1062         manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html
1063         manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html
1064         manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html
1065
1066         We can only manully test this feature for two reasons:
1067         1. On Mac OS X, the result of spell checking is partly determined by past user usage. We can't
1068            realiably generating test cases until we can disable user custom data during spell checking.
1069         2. To exerciese this feature, we need a minimum of 0.3 second delay using WebCore timer.
1070
1071         This patch is to add reversion to correction panel. It consists of following major code changes:
1072         1. Collected all autocorrection related member variables in Editor into a CorrectionPanelInfo
1073            class to improve readability.
1074         2. Changed signature of Editor::startCorrectionPanelTimer() to allow caller to specify the
1075            type of correction panel--regular correction or reversion.
1076         3. Made necessary changes to adopt reversion API in AppKit.
1077         4. Use SUPPORT_CORRECTION_PANEL macro to improve readability.
1078
1079         * GNUmakefile.am: Added CorrectionPanelInfo.h.
1080         * WebCore.gypi: Ditto.
1081         * WebCore.pro: Ditto.
1082         * WebCore.vcproj/WebCore.vcproj: Ditto.
1083         * WebCore.xcodeproj/project.pbxproj:
1084         * editing/CorrectionPanelInfo.h: Added.
1085         * editing/Editor.cpp:
1086         (WebCore::Editor::respondToChangedSelection): Start correction panel timer for reversion when
1087           the new selection is a caret selection at end of a previously corrected word.
1088         (WebCore::Editor::appliedEditing): Stop timer at the beginning of the method instead of at the end.
1089         (WebCore::Editor::~Editor): Adopted new method dismissCorrectionPanel().
1090         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new method applyCorrectionPanelInfo().
1091         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Code change for new m_correctionPanelInfo
1092           member variable.
1093         (WebCore::Editor::correctionPanelTimerFired): Change to handle reversion panel type.
1094         (WebCore::Editor::handleRejectedCorrection): Ditto.
1095         (WebCore::Editor::startCorrectionPanelTimer): Changed signature to allow passing in panel type.
1096         (WebCore::Editor::stopCorrectionPanelTimer): Adopted macro SUPPORT_CORRECTION_PANEL.
1097         (WebCore::Editor::handleCancelOperation): Ditto.
1098         (WebCore::Editor::isShowingCorrectionPanel): Ditto.
1099         (WebCore::Editor::dismissCorrectionPanel): Update m_correctionPanelInfo when correction panel
1100           is dismissed.
1101         (WebCore::Editor::applyCorrectionPanelInfo): Factored out code that applies autocorrection.
1102         (WebCore::Editor::changeSelectionAfterCommand): Adopt macro SUPPORT_CORRECTION_PANEL.
1103         * editing/Editor.h: Adopted CorrectionPanelInfo and add new member methods.
1104         * editing/EditorCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL
1105         (WebCore::createCommandMap):
1106         * editing/TypingCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL and new signature of
1107           startCorrectionPanelTimer().
1108         (WebCore::TypingCommand::markMisspellingsAfterTyping):
1109         * loader/EmptyClients.h:
1110         (WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature of base class method.
1111         (WebCore::EmptyEditorClient::dismissCorrectionPanel):  Ditto.
1112         * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Added.
1113         * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Added.
1114         * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Added.
1115         * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Added.
1116         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Added.
1117         * page/EditorClient.h: Changed signature of showCorrectionPanel() and dismissCorrectionPanel().
1118         * platform/graphics/mac/GraphicsContextMac.mm: Added comment to improve readability.
1119         (WebCore::GraphicsContext::drawLineForTextChecking):
1120
1121 2010-11-04  Dan Bernstein  <mitz@apple.com>
1122
1123         Reviewed by Dave Hyatt.
1124
1125         Made table layout and painting work with all writing modes. Hit-testing, repainting, tables
1126         where some elements have their own layers, and cells whose writing mode differs from the
1127         table’s are not supported yet.
1128
1129         Make tables work with vertical text
1130         https://bugs.webkit.org/show_bug.cgi?id=46417
1131
1132         Tests: fast/table/027-vertical.html
1133                fast/table/028-vertical.html
1134                fast/table/035-vertical.html
1135                fast/table/038-vertical.html
1136                fast/table/040-vertical.html
1137                fast/table/auto-with-percent-height-vertical.html
1138                fast/table/border-collapsing/001-vertical.html
1139                fast/table/border-collapsing/002-vertical.html
1140                fast/table/border-collapsing/003-vertical.html
1141                fast/table/border-collapsing/004-vertical.html
1142                fast/table/border-collapsing/border-collapsing-head-foot-vertical.html
1143                fast/table/border-collapsing/equal-precedence-resolution-vertical.html
1144                fast/table/border-collapsing/rtl-border-collapsing-vertical.html
1145                fast/table/colspanMinWidth-vertical.html
1146                fast/table/fixed-with-auto-with-colspan-vertical.html
1147                fast/table/growCellForImageQuirk-vertical.html
1148                fast/table/height-percent-test-vertical.html
1149                fast/table/percent-widths-stretch-vertical.html
1150                fast/table/rowspan-paint-order-vertical.html
1151                fast/table/table-display-types-vertical.html
1152
1153         * css/CSSStyleSelector.cpp:
1154         (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to allow all writing modes for tables,
1155         make row groups, rows, column groups and columns inherit the table’s writing mode. For now,
1156         make cells do this too.
1157         * html/HTMLTableElement.cpp:
1158         (WebCore::HTMLTableElement::parseMappedAttribute): Map align=center using logical properties.
1159         * rendering/RenderTable.cpp:
1160         (WebCore::RenderTable::RenderTable): Initialize m_borderStart and m_borderEnd.
1161         (WebCore::RenderTable::styleDidChange): Changed the rule for when to use auto layout to look
1162         at the logical width instead of the width.
1163         (WebCore::RenderTable::computeLogicalWidth): Uses logical widths and works with perpendicular
1164         containing blocks.
1165         (WebCore::RenderTable::layout): Use logical lengths.
1166         (WebCore::RenderTable::setCellLogicalWidths): Renamed setCellWidths() to this and updated for
1167         the renaming of RenderTableSection::setCellWidths().
1168         (WebCore::RenderTable::paintObject): Account for flipped modes.
1169         (WebCore::RenderTable::subtractCaptionRect): Added this helper method the considers writing modes.
1170         (WebCore::RenderTable::paintBoxDecorations): Adopted subtractCaptionRect().
1171         (WebCore::RenderTable::paintMask): Ditto.
1172         (WebCore::RenderTable::computePreferredLogicalWidths): Updated for the renaming of
1173         recalcHorizontalBorders().
1174         (WebCore::RenderTable::calcBorderStart): Renamed calcBorderLeft() to this and changed it to use
1175         borderStart(). Splits odd number of pixels based on the physical side.
1176         (WebCore::RenderTable::calcBorderEnd): Similar.
1177         (WebCore::RenderTable::recalcBordersInRowDirection): Renamed recalcHorizontalBorders() to this
1178         and updated for other renames.
1179         (WebCore::RenderTable::borderBefore): Replaced borderTop() with this.
1180         (WebCore::RenderTable::borderAfter): Similar.
1181         (WebCore::RenderTable::outerBorderBefore): Similar.
1182         (WebCore::RenderTable::outerBorderAfter): Similar.
1183         (WebCore::RenderTable::outerBorderStart): Similar.
1184         (WebCore::RenderTable::outerBorderEnd): Similar.
1185         (WebCore::RenderTable::firstLineBoxBaseline): Changed to use logical heights.
1186         (WebCore::RenderTable::overflowClipRect): Account for writing modes.
1187         * rendering/RenderTable.h:
1188         (WebCore::RenderTable::borderStart):
1189         (WebCore::RenderTable::borderEnd):
1190         (WebCore::RenderTable::borderLeft):
1191         (WebCore::RenderTable::borderRight):
1192         (WebCore::RenderTable::borderTop):
1193         (WebCore::RenderTable::borderBottom):
1194         (WebCore::RenderTable::outerBorderLeft):
1195         (WebCore::RenderTable::outerBorderRight):
1196         (WebCore::RenderTable::outerBorderTop):
1197         (WebCore::RenderTable::outerBorderBottom):
1198         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Changed to match its name.
1199         * rendering/RenderTableRow.cpp:
1200         (WebCore::RenderTableRow::styleWillChange): Changed to detect changes to logical height.
1201         * rendering/RenderTableSection.cpp:
1202         (WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative): Renamed and changed to use
1203         logical heights.
1204         (WebCore::RenderTableSection::RenderTableSection): Updated initializers for new member variables.
1205         (WebCore::RenderTableSection::addChild): Updated for rename.
1206         (WebCore::RenderTableSection::ensureRows): Ditto.
1207         (WebCore::RenderTableSection::addCell): Ditto. Also use logical heights.
1208         (WebCore::RenderTableSection::setCellLogicalWidths): Renamed setCellWidths() to this, changed
1209         to use logical widths.
1210         (WebCore::RenderTableSection::calcRowLogicalHeight): Added “logical” to the name. Updated with
1211         logical heights.
1212         (WebCore::RenderTableSection::layoutRows):
1213         (WebCore::RenderTableSection::calcOuterBorderBefore):
1214         (WebCore::RenderTableSection::calcOuterBorderAfter):
1215         (WebCore::RenderTableSection::calcOuterBorderStart):
1216         (WebCore::RenderTableSection::calcOuterBorderEnd):
1217         (WebCore::RenderTableSection::recalcOuterBorder):
1218         (WebCore::RenderTableSection::firstLineBoxBaseline):
1219         (WebCore::RenderTableSection::paintCell):
1220         (WebCore::RenderTableSection::recalcCells):
1221         * rendering/RenderTableSection.h:
1222         (WebCore::RenderTableSection::outerBorderBefore):
1223         (WebCore::RenderTableSection::outerBorderAfter):
1224         (WebCore::RenderTableSection::outerBorderStart):
1225         (WebCore::RenderTableSection::outerBorderEnd):
1226
1227 2010-11-04  Kent Tamura  <tkent@chromium.org>
1228
1229         Unreviewed, trivial test fix.
1230
1231         Fix GTK build for http://trac.webkit.org/changeset/71373 .
1232
1233         * GNUmakefile.am: Add HTMLOutputElement.{cpp,h}
1234
1235 2010-11-04  MORITA Hajime  <morrita@google.com>
1236
1237         Reviewed by Kent Tamura.
1238
1239         Stale reference to RenderObject held as FrameView layoutRoot
1240         https://bugs.webkit.org/show_bug.cgi?id=48019
1241         
1242         <progress> and <meter> shouldn't have children of its RenderObject,
1243         which caused unexpected result.
1244         This change suppresses child creation to prevent it.
1245
1246         Tests: fast/dom/HTMLMeterElement/meter-element-with-child-crash.html
1247                fast/dom/HTMLProgressElement/progress-element-with-child-crash.html
1248
1249         * rendering/RenderIndicator.h:
1250         (WebCore::RenderIndicator::canHaveChildren):
1251
1252 2010-11-04  Kenichi Ishibashi  <bashi@google.com>
1253
1254         Reviewed by Kent Tamura.
1255
1256         [HTML5][Forms] Support for <output> element
1257         https://bugs.webkit.org/show_bug.cgi?id=29363
1258
1259         Support for <output> element.
1260
1261         Tests: fast/dom/HTMLOutputElement/dom-settable-token-list.html
1262                fast/dom/HTMLOutputElement/htmloutputelement-reset-event.html
1263                fast/dom/HTMLOutputElement/htmloutputelement-validity.html
1264                fast/dom/HTMLOutputElement/htmloutputelement-value.html
1265                fast/dom/HTMLOutputElement/htmloutputelement.html
1266
1267         * Android.derived.jscbindings.mk: Added JSHTMLOutputElement.h.
1268         * Android.derived.v8bindings.mk: Added V8HTMLOutputElement.h.
1269         * Android.jscbindings.mk: Added JSHTMLOutputElementCustom.cpp.
1270         * Android.mk: Added HTMLOutputElement.cpp.
1271         * Android.v8bindings.mk: Added V8HTMLOutputElementCustom.cpp.
1272         * CMakeLists.txt: Added HTMLOutputElement.{idl,cpp} and JSHTMLOutputElementCustom.cpp.
1273         * DerivedSources.cpp: Added JSHTMLOutputElement.cpp.
1274         * DerivedSources.make: Added HTMLOutputElement entry.
1275         * GNUmakefile.am: Added JSHTMLOutputElement.{cpp,h}
1276         * WebCore.gypi: Added HTMLOutputElement.{idl,cpp,h}, JSHTMLOutputElementCustom.cpp and V8HTMLOutputElementCustom.cpp
1277         * WebCore.pri: Added HTMLOutputElement.idl.
1278         * WebCore.pro: Added V8HTMLOutputElementCustom.cpp, JSHTMLOutputElementCustom.cpp and HTMLOutputElement.cpp.
1279         * WebCore.vcproj/WebCore.vcproj: Added entries for JSHTMLOutputElement.{cpp,h} and JSHTMLOutputElementCustom.cpp.
1280         * WebCore.xcodeproj/project.pbxproj: Added entries for JSHTMLOutputElementCustom.cpp, HTMLOutputElement.{cpp,h,idl}, JSHTMLOutputElement.{cpp,h}
1281         * bindings/js/JSBindingsAllInOne.cpp: Added JSHTMLOutputElementCustom.cpp.
1282         * bindings/js/JSHTMLOutputElementCustom.cpp: Added.
1283         (WebCore::JSHTMLOutputElement::htmlFor):
1284         (WebCore::JSHTMLOutputElement::setHtmlFor):
1285         * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Modified.
1286         (WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Returns null if the index is out of range.
1287         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Added.
1288         (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
1289         (WebCore::V8HTMLOutputElement::htmlForAccessorSetter):
1290         * css/html.css: Added a default style of output element.
1291         (output):
1292         * html/DOMSettableTokenList.cpp: Fix bugs.
1293         (WebCore::DOMSettableTokenList::item): Returns null string if the index is out of range.
1294         (WebCore::DOMSettableTokenList::addInternal): Added check m_tokens.isNull().
1295         (WebCore::DOMSettableTokenList::setValue): Set the value case sensitive.
1296         * html/HTMLOutputElement.cpp: Added.
1297         (WebCore::HTMLOutputElement::HTMLOutputElement):
1298         (WebCore::HTMLOutputElement::create):
1299         (WebCore::HTMLOutputElement::formControlType):
1300         (WebCore::HTMLOutputElement::parseMappedAttribute):
1301         (WebCore::HTMLOutputElement::htmlFor):
1302         (WebCore::HTMLOutputElement::setFor):
1303         (WebCore::HTMLOutputElement::setForm):
1304         (WebCore::HTMLOutputElement::childrenChanged):
1305         (WebCore::HTMLOutputElement::reset):
1306         (WebCore::HTMLOutputElement::value):
1307         (WebCore::HTMLOutputElement::setValue):
1308         (WebCore::HTMLOutputElement::defaultValue):
1309         (WebCore::HTMLOutputElement::setDefaultValue):
1310         (WebCore::HTMLOutputElement::setTextContentInternal):
1311         * html/HTMLOutputElement.h: Added.
1312         (WebCore::HTMLOutputElement::isEnumeratable):
1313         (WebCore::HTMLOutputElement::willValidate):
1314         * html/HTMLOutputElement.idl: Added.
1315         * html/HTMLTagNames.in: Added "output".
1316         * page/DOMWindow.idl: Added an attribute for HTMLOutputElement.
1317
1318 2010-11-04  Zhenyao Mo  <zmo@google.com>
1319
1320         Reviewed by Kenneth Russell.
1321
1322         Remove IMPLEMENTATION_COLOR_READ_FORMAT and TYPE
1323         https://bugs.webkit.org/show_bug.cgi?id=48938
1324
1325         * html/canvas/WebGLRenderingContext.cpp:
1326         (WebCore::WebGLRenderingContext::initializeNewContext):
1327         (WebCore::WebGLRenderingContext::getParameter):
1328         (WebCore::WebGLRenderingContext::readPixels):
1329         * html/canvas/WebGLRenderingContext.h:
1330         * html/canvas/WebGLRenderingContext.idl:
1331         * platform/graphics/GraphicsContext3D.h:
1332         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1333         (WebCore::GraphicsContext3D::getIntegerv):
1334
1335 2010-11-04  Zhenyao Mo  <zmo@google.com>
1336
1337         Reviewed by Kenneth Russell.
1338
1339         TypedArray should throw exception if length not a multiple of element size
1340         https://bugs.webkit.org/show_bug.cgi?id=45487
1341
1342         * bindings/js/JSArrayBufferViewHelper.h:
1343         (WebCore::constructArrayBufferView):
1344         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1345         (WebCore::constructWebGLArray):
1346
1347 2010-11-04  Kenneth Russell  <kbr@google.com>
1348
1349         Reviewed by Adam Barth.
1350
1351         [chromium] Mac: WebGL: all textured content is blue
1352         https://bugs.webkit.org/show_bug.cgi?id=49021
1353
1354         Added support for 8-bit, little-endian CGImages. The previous
1355         image decode path used the default byte order, which is apparently
1356         big-endian.
1357
1358         Tested with various WebGL content and layout tests in Chromium.
1359         Ran layout tests in WebKit and tested various WebGL content in
1360         Safari. Was not able to run layout tests with Chromium port of
1361         DumpRenderTree due to build failures currently in the tree.
1362
1363         * platform/graphics/GraphicsContext3D.cpp:
1364         (WebCore::doPacking):
1365         * platform/graphics/GraphicsContext3D.h:
1366         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1367         (WebCore::getSourceDataFormat):
1368         (WebCore::GraphicsContext3D::getImageData):
1369
1370 2010-11-03  Zhenyao Mo  <zmo@google.com>
1371
1372         Reviewed by Kenneth Russell.
1373
1374         renderbufferStorage(DEPTH_STENCIL) shouldn't generate an error
1375         https://bugs.webkit.org/show_bug.cgi?id=48891
1376
1377         * html/canvas/WebGLFramebuffer.cpp:
1378         (WebCore::WebGLFramebuffer::isIncomplete): Considering the case where DEPTH_STENCIL is not supported.
1379         * html/canvas/WebGLRenderbuffer.cpp:
1380         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
1381         * html/canvas/WebGLRenderbuffer.h: Add members and accessor functions.
1382         (WebCore::WebGLRenderbuffer::setInternalFormat): 
1383         (WebCore::WebGLRenderbuffer::setSize):
1384         (WebCore::WebGLRenderbuffer::getWidth):
1385         (WebCore::WebGLRenderbuffer::getHeight):
1386         (WebCore::WebGLRenderbuffer::setIsValid):
1387         (WebCore::WebGLRenderbuffer::isValid):
1388         * html/canvas/WebGLRenderingContext.cpp:
1389         (WebCore::WebGLRenderingContext::initializeNewContext): Check if packed_depth_stencil extension exists.
1390         (WebCore::WebGLRenderingContext::getRenderbufferParameter): Simulate the case for DEPTH_STENCIL where packed_depth_stencil is not supported.
1391         (WebCore::WebGLRenderingContext::renderbufferStorage): Bypass the call if packed_depth_stencil is not supported.
1392         * html/canvas/WebGLRenderingContext.h:
1393
1394 2010-11-04  Kavita Kanetkar  <kkanetkar@chromium.org>
1395
1396         Reviewed by Adam Barth.
1397
1398         Web Inspector: Enable files ystem UI for chromium
1399         https://bugs.webkit.org/show_bug.cgi?id=48963
1400
1401         * inspector/Inspector.idl:
1402         * inspector/InspectorFileSystemAgent.cpp:
1403         (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
1404         * inspector/InspectorFileSystemAgent.h:
1405         * inspector/front-end/FileSystemView.js:
1406         (WebInspector.FileSystemView):
1407         (WebInspector.FileSystemView.prototype.setFileSystemDisabled):
1408         (WebInspector.FileSystemView.prototype._createTextAndButton):
1409         (WebInspector.FileSystemView.prototype.refreshFileSystem):
1410         * inspector/front-end/StoragePanel.js:
1411         (WebInspector.StoragePanel.prototype.setFileSystemDisabled):
1412         * inspector/front-end/inspector.js:
1413         (WebInspector.didGetFileSystemDisabled):
1414         (WebInspector.reset):
1415
1416 2010-11-04  Robert Hogan  <robert@webkit.org>
1417
1418         Reviewed by Darin Adler.
1419
1420         Stale reference to JSDOMWindow in ScriptController::m_cacheableBindingObject
1421
1422         After bug 37725 we need to update the globalObject() (i.e. JSDOMWindow)
1423         associated with the m_cacheablebindingRootObject every time we clear the
1424         frame and load a new page. This allows the runtime objects
1425         (e.g. LayoutTestController etc.) to persist between navigations as
1426         before but also ensures that when qt_runtime, or any other bridge,
1427         looks at the root->globalObject() of a cacheable binding object
1428         it gets the DOMWindow of the current page rather than the DOMWindow
1429         that was in place when m_cacheableBindingRootObject was created.
1430
1431         Fixes fast/dom/nodesFromRect-basic.html on Qt.
1432
1433         https://bugs.webkit.org/show_bug.cgi?id=48758
1434
1435         * bindings/js/ScriptController.cpp:
1436         (WebCore::ScriptController::clearWindowShell):
1437         * bridge/runtime_root.cpp:
1438         (JSC::Bindings::RootObject::updateGlobalObject):
1439         * bridge/runtime_root.h:
1440
1441 2010-11-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1442
1443         Reviewed by David Hyatt.
1444
1445         Delegate scrolling via a separate method
1446         https://bugs.webkit.org/show_bug.cgi?id=48988
1447
1448         Add a delegatedScrollRequested method to HostWindow for delegating
1449         scrolling to the view. This is only used in conjunction with tiling,
1450         and is ifdef'ed.
1451
1452         * page/Chrome.cpp:
1453         (WebCore::Chrome::delegatedScrollRequested):
1454         * page/Chrome.h:
1455         * page/ChromeClient.h:
1456         * platform/HostWindow.h:
1457         * platform/ScrollView.cpp:
1458         (WebCore::ScrollView::setScrollPosition):
1459
1460 2010-11-04  Pavel Feldman  <pfeldman@chromium.org>
1461
1462         Reviewed by Timothy Hatcher.
1463
1464         Web Inspector: Need better way of switching back to the Timeline view of the Network tab.
1465         https://bugs.webkit.org/show_bug.cgi?id=48995
1466
1467         - Moved close button to the left, preceding tab headers;
1468         - Auto-adjusting summary bar width when switching to the preview mode
1469         - Auto-scrolling network log if it was scrolled to bottom.
1470
1471         * inspector/front-end/DataGrid.js:
1472         (WebInspector.DataGrid):
1473         (WebInspector.DataGrid.prototype.isScrolledToLastRow):
1474         (WebInspector.DataGrid.prototype.scrollToLastRow):
1475         * inspector/front-end/NetworkPanel.js:
1476         (WebInspector.NetworkPanel):
1477         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
1478         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
1479         (WebInspector.NetworkPanel.prototype.refresh):
1480         (WebInspector.NetworkPanel.prototype._reset):
1481         (WebInspector.NetworkPanel.prototype._toggleGridMode):
1482         * inspector/front-end/inspector.css:
1483         (.tabbed-pane-header li):
1484         * inspector/front-end/networkPanel.css:
1485         (.network-summary-bar):
1486         (#network-close-button):
1487         (#network-views.small #network-close-button):
1488         (#network-views .resource-view .tabbed-pane-header):
1489         (#network-views.small .resource-view .tabbed-pane-header):
1490
1491 2010-11-04  Erik Arvidsson  <arv@chromium.org>
1492
1493         Reviewed by Dimitri Glazkov.
1494
1495         Support box-sizing without the vendor prefix
1496         https://bugs.webkit.org/show_bug.cgi?id=36713
1497
1498         Based on patch by Peter Beverloo <peter@lvp-media.com>
1499
1500         Test: fast/css/box-sizing-backwards-compat-prefix.html
1501
1502         * css/CSSComputedStyleDeclaration.cpp:
1503         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1504         * css/CSSParser.cpp:
1505         (WebCore::CSSParser::parseValue):
1506         (WebCore::cssPropertyID): This handles -webkit-box-sizing and maps it to box-sizing.
1507         * css/CSSPropertyNames.in:
1508         * css/CSSStyleSelector.cpp:
1509         (WebCore::CSSStyleSelector::applyProperty):
1510         * css/quirks.css: Change -webkit-box-sizing to box-sizing.
1511         (input:not([type=image]), textarea):
1512         * css/view-source.css: Ditto.
1513         (.webkit-line-gutter-backdrop, .webkit-line-number):
1514         * css/wml.css: Ditto.
1515         (do):
1516         (select):
1517
1518 2010-11-04  John Reck  <jreck@google.com>
1519
1520         Reviewed by Steve Block.
1521
1522         Fix a linker failure when building for Android
1523         https://bugs.webkit.org/show_bug.cgi?id=48964
1524         
1525         The Android stub for setCookieStoragePrivateBrowsingEnabled(bool) wasn't in the WebCore namespace, which caused
1526         a linker failure when building for Android. Moved the stub to the WebCore namespace. This was caused by 
1527         http://trac.webkit.org/changeset/70400
1528         
1529         No new tests, build fix only
1530
1531         * platform/android/TemporaryLinkStubs.cpp:
1532
1533 2010-11-04  Joseph Pecoraro  <joepeck@webkit.org>
1534
1535         Reviewed by Andreas Kling.
1536
1537         Request.h getters can be made const
1538         https://bugs.webkit.org/show_bug.cgi?id=49003
1539
1540         Added the const qualifier to some getters that don't mutate the object.
1541
1542         * loader/Request.h:
1543         (WebCore::Request::cachedResource):
1544         (WebCore::Request::cachedResourceLoader):
1545         (WebCore::Request::isIncremental):
1546         (WebCore::Request::isMultipart):
1547
1548 2010-11-03  Brian Weinstein  <bweinstein@apple.com>
1549
1550         Reviewed by Brady Eidson.
1551
1552         User scripts shouldn't be injected in a frame's empty initial document.
1553         https://bugs.webkit.org/show_bug.cgi?id=48970
1554         <rdar://problem/8618164>
1555         <rdar://problem/8082122>
1556         
1557         When a frame loads, it first creates an empty initial document, then navigates to the correct URL. Our
1558         current policy with user scripts is to inject them into both the initial empty document, and then inject
1559         them again.
1560         
1561         This causes developers to think their scripts have been injected twice into all iframes, and there is a timing
1562         issue between WebKit1 and WebKit2 that causes start scripts to be injected into the initial empty document
1563         of the main frame when a new tab or window is created.
1564         
1565         The fix for this is to not inject user scripts when the frame is creating its initial empty document before loading
1566         the correct source.
1567
1568         * page/Frame.cpp:
1569         (WebCore::Frame::injectUserScripts):
1570
1571 2010-11-04  Andreas Kling  <kling@webkit.org>
1572
1573         Reviewed by Nikolas Zimmermann.
1574
1575         GraphicsContext: Don't do full save/restore when painting with low quality scaling
1576         https://bugs.webkit.org/show_bug.cgi?id=48738
1577
1578         Stash the imageInterpolationQuality() in a local and reset it after painting.
1579
1580         * platform/graphics/GraphicsContext.cpp:
1581         (WebCore::GraphicsContext::drawImage):
1582         (WebCore::GraphicsContext::drawTiledImage):
1583         (WebCore::GraphicsContext::drawImageBuffer):
1584         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
1585         (WebCore::GraphicsContext::imageInterpolationQuality):
1586         * platform/graphics/skia/GraphicsContextSkia.cpp:
1587         (WebCore::GraphicsContext::imageInterpolationQuality):
1588         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1589         (WebCore::GraphicsContext::imageInterpolationQuality):
1590
1591 2010-11-04  Nikolas Zimmermann  <nzimmermann@rim.com>
1592
1593         Reviewed by Andreas Kling.
1594
1595         Refactor SVGStringListPropertyTearOff/SVGListPropertyTearOff to use a common base class
1596         https://bugs.webkit.org/show_bug.cgi?id=48990
1597
1598         Introduce SVGListProperty as common base class between static lists (SVGStringListPropertyTearOff) and dynamic lists (SVGListPropertyTearOff).
1599         This is a preparation for the addition of the next static list type: SVGPointList.
1600
1601         * GNUmakefile.am: Add new files to build.
1602         * WebCore.gypi: Ditto.
1603         * WebCore.pro: Ditto.
1604         * WebCore.vcproj/WebCore.vcproj: Ditto.
1605         * WebCore.xcodeproj/project.pbxproj: Ditto.
1606         * bindings/scripts/CodeGenerator.pm: s/SVGStringListPropertyTearOff/SVGStaticListPropertyTearOff/.
1607         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
1608         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
1609         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1610         * svg/properties/SVGAnimatedListPropertyTearOff.h: Include SVGStaticListPropertyTearOff.h here, to avoid special dependencies in CodeGenerator*.pm
1611         * svg/properties/SVGListProperty.h: Added.
1612         * svg/properties/SVGListPropertyTearOff.h: Use SVGList API implementation from SVGListProperty base class.
1613         * svg/properties/SVGStaticListPropertyTearOff.h: Added. Use SVGList API implementation from SVGListProperty base class.
1614         * svg/properties/SVGStringListPropertyTearOff.h: Removed.
1615
1616 2010-11-04  Ryosuke Niwa  <rniwa@webkit.org>
1617
1618         Unreviewed. Fixed WebCore.xcodeproject
1619
1620         * WebCore.xcodeproj/project.pbxproj:
1621
1622 2010-11-04  Pratik Solanki  <psolanki@apple.com>
1623
1624         Reviewed by Darin Adler.
1625
1626         Should make use of purge priorities for different resource types
1627         https://bugs.webkit.org/show_bug.cgi?id=48684
1628
1629         Assign purge priorities to CachedResource objects. JavaScript and CSS stylesheets are more
1630         important than images so hint to the kernel to purge them last. We do this by repurposing
1631         the previously unused function, PurgeableBuffer::setPurgePriority(). It now just sets the
1632         priority field and does not have side-effects like calling makePurgeable(true).
1633
1634         Also, remove unusued PurgeableBuffer::create(const Vector<char>&) function and move the
1635         purgeable memory size threshold from CachedResource to PurgeableBuffer.
1636
1637         * WebCore.xcodeproj/project.pbxproj: Add new PurgePriority.h header and mark it as private
1638         header.
1639         * loader/CachedCSSStyleSheet.h:
1640         (WebCore::CachedCSSStyleSheet::purgePriority):
1641         * loader/CachedImage.h:
1642         (WebCore::CachedImage::purgePriority):
1643         * loader/CachedResource.cpp:
1644         (WebCore::CachedResource::makePurgeable): Set the purge priority on the PurgeableBffer.
1645         Also, move the check for purgeable size threshold to PurgeableBuffer.
1646         * loader/CachedResource.h:
1647         (WebCore::CachedResource::purgePriority): Added. New virtual method that lets the class
1648         specify its purge priority.
1649         * loader/CachedScript.h:
1650         (WebCore::CachedScript::purgePriority):
1651         * platform/PurgePriority.h: Added. Move the PurgePriority enum from PurgeableBuffer class to
1652         its own header file.
1653         (WebCore::):
1654         * platform/PurgeableBuffer.h:
1655         (WebCore::PurgeableBuffer::setPurgePriority): Update this previously unused function to just
1656         set the priority and not call makePurgeable(true).
1657         * platform/mac/PurgeableBufferMac.cpp: Update size threshold to 16KB which is what
1658         CachedResource was using.
1659
1660 2010-11-04  Chris Guillory  <chris.guillory@google.com>
1661
1662         Reviewed by Chris Fleizach.
1663
1664         Ignore static text children of text field controls in the accessibility tree.
1665         https://bugs.webkit.org/show_bug.cgi?id=48944
1666
1667         * accessibility/AccessibilityRenderObject.cpp:
1668         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1669
1670 2010-11-04  Erik Arvidsson  <arv@chromium.org>
1671
1672         Reviewed by Tony Chang.
1673
1674         Computed style is not correct for negative values in the presence of zooming
1675         https://bugs.webkit.org/show_bug.cgi?id=48855
1676
1677         * rendering/style/RenderStyle.h:
1678         (WebCore::adjustForAbsoluteZoom): When the value is less than zero we need to decrement instead of increment.
1679
1680 2010-11-04  Shane Stephens  <shanestephens@google.com>
1681
1682         Reviewed by Tony Chang.
1683
1684         SVGStyledTransformableElement supplemental transforms pre-multiplied
1685         but should be post-multiplied.
1686         https://bugs.webkit.org/show_bug.cgi?id=48026
1687
1688         Test: svg/animations/animate-path-nested-transforms.svg
1689
1690         * svg/SVGStyledTransformableElement.cpp:
1691         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
1692         
1693         Switched order of multiplication.  Note that due to a bug in
1694         AffineTransform's operator* implementation the order of arguments is
1695         reversed (see http://bugs.webkit.org/show_bug.cgi?id=48031).
1696
1697 2010-11-04  James Simonsen  <simonjam@chromium.org>
1698
1699         Reviewed by Darin Fisher.
1700
1701         [Web Timing] Implement dom* timing marks
1702         https://bugs.webkit.org/show_bug.cgi?id=46301
1703
1704         Test: fast/dom/webtiming-document-open.html
1705
1706         * GNUmakefile.am: Added DocumentTiming.h
1707         * WebCore.gypi: Ditto.
1708         * WebCore.vcproj/WebCore.vcproj: Ditto.
1709         * WebCore.xcodeproj/project.pbxproj: Ditto.
1710         * dom/Document.cpp:
1711         (WebCore::Document::setReadyState): Set DOM WebTiming marks.
1712         (WebCore::Document::finishedParsing): Set DOM WebTiming marks.
1713         * dom/Document.h:
1714         (WebCore::Document::timing): Added.
1715         * dom/DocumentTiming.h: Added.
1716         (WebCore::DocumentTiming::DocumentTiming):
1717         * page/Timing.cpp: Added DOM timing.
1718         (WebCore::Timing::domLoading): Ditto.
1719         (WebCore::Timing::domInteractive): Ditto.
1720         (WebCore::Timing::domContentLoaded): Ditto.
1721         (WebCore::Timing::domComplete): Ditto.
1722         (WebCore::Timing::documentTiming): Ditto.
1723         * page/Timing.h: Ditto.
1724         * page/Timing.idl: Ditto.
1725
1726 2010-11-04  Carlos Garcia Campos  <cgarcia@igalia.com>
1727
1728         Reviewed by Martin Robinson.
1729
1730         [GTK] Implement unencodable characters handling in TextCodecGtk::encode()
1731         https://bugs.webkit.org/show_bug.cgi?id=48902
1732
1733         Fixes a crash in test fast/encoding/char-encoding.html.
1734
1735         * platform/text/gtk/TextCodecGtk.cpp:
1736         (WebCore::TextCodecGtk::encode):
1737
1738 2010-11-04  Adam Barth  <abarth@webkit.org>
1739
1740         Enabled ICCJPEG on Chromium Mac
1741         https://bugs.webkit.org/show_bug.cgi?id=48977
1742
1743         Add iccjpeg as a dependency.
1744
1745         * WebCore.gyp/WebCore.gyp:
1746
1747 2010-11-03  Kent Tamura  <tkent@chromium.org>
1748
1749         Reviewed by Dimitri Glazkov.
1750
1751         Framework to show form validation message for invalid controls
1752         https://bugs.webkit.org/show_bug.cgi?id=31718
1753
1754         HTMLFormElement::validateInteractively() shows a validation message for
1755         an invalid control by HTMLFormControlElement::updateVisibleValidationMessage(),
1756         and the message is hidden when the invalid control looses focus, becomes
1757         valid, detached, or the form is submitted again.
1758
1759         Introduce ValidationMessage class to manage visible form validation
1760         message. It has no implementation to show/hide a message yet.
1761
1762         No new tests. New behavior is disabled by default, and is timing-dependent.
1763
1764         * Android.mk: Add ValidationMessage.
1765         * CMakeLists.txt: ditto.
1766         * GNUmakefile.am: ditto.
1767         * WebCore.gypi: ditto.
1768         * WebCore.pro: ditto.
1769         * WebCore.vcproj/WebCore.vcproj: ditto.
1770         * WebCore.xcodeproj/project.pbxproj: ditto.
1771         * html/HTMLFormControlElement.cpp:
1772         (WebCore::HTMLFormControlElement::detach): Hides a validation message.
1773         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
1774            Hides a validation message if validation is not needed.
1775         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
1776         (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
1777         (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
1778           Hides a validation message or updates the validation message.
1779         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
1780           Hides a validation message.
1781         (WebCore::HTMLFormControlElement::visibleValidationMessage):
1782         * html/HTMLFormControlElement.h:
1783         * html/HTMLFormElement.cpp:
1784         (WebCore::HTMLFormElement::validateInteractively):
1785          - Hide existing validation messages before showing new message.
1786          - Show new validation message.
1787         * html/ValidationMessage.cpp: Added.
1788         (WebCore::ValidationMessage::ValidationMessage):
1789         (WebCore::ValidationMessage::~ValidationMessage):
1790         (WebCore::ValidationMessage::create):
1791         (WebCore::ValidationMessage::setMessage):
1792         (WebCore::ValidationMessage::hideMessage):
1793         * html/ValidationMessage.h: Added.
1794         (WebCore::ValidationMessage::message):
1795
1796 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
1797
1798         Reviewed by Adam Roben.
1799
1800         Port WCDataObject.cpp to WinCE
1801         https://bugs.webkit.org/show_bug.cgi?id=48921
1802
1803         OleDuplicateData is not supported on WinCE.
1804
1805         * platform/win/WCDataObject.cpp:
1806         (WebCore::WCDataObject::CopyMedium):
1807
1808 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
1809
1810         Reviewed by Adam Roben.
1811
1812         Port ClipboardWin.cpp to WinCE
1813         https://bugs.webkit.org/show_bug.cgi?id=48412
1814
1815         * platform/win/ClipboardWin.cpp:
1816         (WebCore::writeFileToDataObject):
1817
1818 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
1819
1820         Reviewed by Adam Roben.
1821
1822         Port ClipboardWin.cpp to WinCE
1823         https://bugs.webkit.org/show_bug.cgi?id=48412
1824
1825         * platform/win/ClipboardWin.cpp:
1826         (WebCore::filesystemPathFromUrlOrTitle):
1827         (WebCore::createGlobalHDropContent):
1828         (WebCore::ClipboardWin::files):
1829
1830 2010-11-03  Vincent Scheib  <scheib@chromium.org>
1831
1832         Reviewed by James Robinson.
1833
1834         [chromium] GraphicsContext3D creation attributes include canRecoverFromContextLoss option
1835         https://bugs.webkit.org/show_bug.cgi?id=48850
1836
1837         Implementations of GraphicsContext3D may respect the creation attribute
1838         canRecoverFromContextLoss being false, and then only succeeding initialization if
1839         the context can satisfy that request of never being lost. DX9 on XP can not satisfy
1840         such a request.
1841
1842         Test by use of accelerated canvas 2d in Chromium with ANGLE on XP machines.
1843
1844         * platform/graphics/GraphicsContext3D.h:
1845         (WebCore::GraphicsContext3D::Attributes::Attributes):
1846         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1847         (WebCore::SharedGraphicsContext3D::create):
1848
1849 2010-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1850
1851         Reviewed by Martin Robinson.
1852
1853         [GTK] Use sentence boundaries instead of start/end sentence
1854         https://bugs.webkit.org/show_bug.cgi?id=48422
1855
1856         Using sentence boundaries all intersentence
1857         whitespace/control/format characters are assigned to a
1858         sentence. This is what ICU does, so we have to do the same in
1859         order to get the same results with glib unicode backend. It fixes
1860         the sentence tests cases in test fast/dom/Range/range-expand.html.
1861
1862         * platform/text/gtk/TextBreakIteratorGtk.cpp:
1863         (WebCore::textBreakNext):
1864         (WebCore::textBreakPrevious):
1865
1866 2010-11-03  Zhenyao Mo  <zmo@google.com>
1867
1868         Reviewed by Kenneth Russell.
1869
1870         depthRange should generate INVALID_OPERATION if zNear is greater than zFar
1871         https://bugs.webkit.org/show_bug.cgi?id=48676
1872
1873         * html/canvas/WebGLRenderingContext.cpp:
1874         (WebCore::WebGLRenderingContext::depthRange):
1875
1876 2010-11-03  Adrienne Walker  <enne@google.com>
1877
1878         Reviewed by Kenneth Russell.
1879
1880         Properly return empty strings instead of null when using invalid
1881         objects for some WebGL calls.  This fixes issues caused by r71274.
1882         https://bugs.webkit.org/show_bug.cgi?id=48962
1883
1884         * html/canvas/WebGLRenderingContext.cpp:
1885         (WebCore::WebGLRenderingContext::getProgramInfoLog):
1886         (WebCore::WebGLRenderingContext::getShaderInfoLog):
1887         (WebCore::WebGLRenderingContext::getShaderSource):
1888
1889 2010-11-01  Ryosuke Niwa  <rniwa@webkit.org>
1890
1891         Reviewed by Darin Adler.
1892
1893         Crash in ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle
1894         https://bugs.webkit.org/show_bug.cgi?id=48581
1895
1896         The crash was caused by RemoveNodePreservingChildrenCommand's calling removeNode
1897         on m_node without checking that m_node has a parent and it's still in the document.
1898         Fixed the crash by adding an early exit in CompositeEditCommand::removeNode and
1899         deploying RefPtr in several places of ApplyStyleCommand.cpp.
1900
1901         Test: editing/style/iframe-onload-crash.html
1902
1903         * editing/ApplyStyleCommand.cpp:
1904         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1905         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
1906         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
1907         * editing/ApplyStyleCommand.h:
1908         * editing/CompositeEditCommand.cpp:
1909         (WebCore::CompositeEditCommand::removeNode):
1910
1911 2010-11-03  Jia Pu  <jpu@apple.com>
1912
1913         Reviewed by Darin Adler.
1914
1915         Crashes in WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair() when deleting multiple lines of text.
1916         https://bugs.webkit.org/show_bug.cgi?id=48918
1917         <rdar://problem/8620602>
1918
1919         I haven't been able to found a reliable way to reproduce the bug. However, whenever it happens,
1920         the crash is caused by a null node pointer returned by TextIterator. So it seems to be a 
1921         safe fix to guard against that. 
1922
1923         * editing/Editor.cpp: (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
1924
1925 2010-11-02  Zhenyao Mo  <zmo@google.com>
1926
1927         Reviewed by Kenneth Russell.
1928
1929         A different mask or reference value in stencil operations should generate INVALID_OPERATION
1930         https://bugs.webkit.org/show_bug.cgi?id=48669
1931
1932         * html/canvas/WebGLRenderingContext.cpp:
1933         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init stencil func ref/mask and stencil mask to default.
1934         (WebCore::WebGLRenderingContext::stencilFunc): Cache ref/mask value.
1935         (WebCore::WebGLRenderingContext::stencilFuncSeparate): Generate error if front/back values differ.
1936         (WebCore::WebGLRenderingContext::stencilMask): Cache mask value.
1937         (WebCore::WebGLRenderingContext::stencilMaskSeparate): Generate error if front/back values differ.
1938         (WebCore::WebGLRenderingContext::validateFace): Validate face parameter.
1939         (WebCore::WebGLRenderingContext::validateStencilFunc): Validate stencil func parameter.
1940         * html/canvas/WebGLRenderingContext.h: Add members to track stencil func ref/mask and stencil mask.
1941
1942 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
1943
1944         Reverting r71244, r71248 and r71250. Broke default event handling inside text fields.
1945         https://bugs.webkit.org/show_bug.cgi?id=46015
1946
1947         * Android.mk:
1948         * CMakeLists.txt:
1949         * GNUmakefile.am:
1950         * WebCore.gypi:
1951         * WebCore.pro:
1952         * WebCore.vcproj/WebCore.vcproj:
1953         * WebCore.xcodeproj/project.pbxproj:
1954         * dom/ContainerNode.cpp:
1955         (WebCore::notifyChildInserted):
1956         * dom/DOMAllInOne.cpp:
1957         * dom/EventContext.cpp: Removed.
1958         * dom/EventContext.h: Removed.
1959         * dom/Node.cpp:
1960         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
1961         (WebCore::Node::createRendererIfNeeded):
1962         (WebCore::Node::eventParentNode):
1963         (WebCore::Node::enclosingLinkEventParentOrSelf):
1964         (WebCore::eventTargetAsSVGElementInstance):
1965         (WebCore::eventTargetRespectingSVGTargetRules):
1966         (WebCore::Node::eventAncestors):
1967         (WebCore::Node::dispatchGenericEvent):
1968         * dom/Node.h:
1969         * dom/Text.cpp:
1970         (WebCore::Text::createRenderer):
1971         * dom/WindowEventContext.cpp: Removed.
1972         * dom/WindowEventContext.h: Removed.
1973         * inspector/InspectorDOMAgent.cpp:
1974         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1975         * inspector/InspectorInstrumentation.cpp:
1976         (WebCore::eventHasListeners):
1977         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
1978         * inspector/InspectorInstrumentation.h:
1979         (WebCore::InspectorInstrumentation::willDispatchEvent):
1980         * page/EventHandler.cpp:
1981         (WebCore::EventHandler::updateMouseEventTargetNode):
1982         * rendering/ShadowElement.h:
1983         (WebCore::ShadowElement::shadowParent):
1984         (WebCore::ShadowElement::shadowParentNode):
1985         * svg/SVGElement.cpp:
1986         (WebCore::SVGElement::eventParentNode):
1987         * svg/SVGElement.h:
1988
1989 2010-11-03  Adam Barth  <abarth@webkit.org>
1990
1991         Reviewed by Eric Seidel.
1992
1993         CG use of WebKit image decoders crashes on some animated GIFs
1994         https://bugs.webkit.org/show_bug.cgi?id=48955
1995
1996         It turns out CFDataGetMutableBytePtr isn't safe call on a null pointer.
1997
1998         Test: fast/images/dont-crash-with-null-gif-frames.html
1999
2000         * platform/image-decoders/cg/ImageDecoderCG.cpp:
2001         (WebCore::RGBA32Buffer::copyReferenceToBitmapData):
2002         (WebCore::RGBA32Buffer::copyBitmapData):
2003
2004 2010-11-03  Adrienne Walker  <enne@google.com>
2005
2006         Reviewed by Kenneth Russell.
2007
2008         Implement lost, restored, and creation failure context events for
2009         WebGLRenderingContext.  The lost and restored functions are not hooked
2010         up yet, but the context now acts according to the spec as it should
2011         during a lost context.  Tested manually, as there's no programmatic
2012         way to lose a context yet.
2013         https://bugs.webkit.org/show_bug.cgi?id=35626
2014
2015         * WebCore.gypi:
2016         * WebCore.xcodeproj/project.pbxproj:
2017         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2018         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
2019         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2020         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
2021         * dom/EventNames.h:
2022         * html/canvas/WebGLContextEvent.cpp: Added.
2023         (WebCore::WebGLContextEvent::WebGLContextEvent):
2024         (WebCore::WebGLContextEvent::~WebGLContextEvent):
2025         (WebCore::WebGLContextEvent::initEvent):
2026         * html/canvas/WebGLContextEvent.h: Added.
2027         (WebCore::WebGLContextEvent::create):
2028         (WebCore::WebGLContextEvent::statusMessage):
2029         * html/canvas/WebGLContextEvent.idl: Added.
2030         * html/canvas/WebGLRenderingContext.cpp:
2031         (WebCore::WebGLRenderingContext::create):
2032         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2033         (WebCore::WebGLRenderingContext::initializeNewContext):
2034         (WebCore::WebGLRenderingContext::activeTexture):
2035         (WebCore::WebGLRenderingContext::attachShader):
2036         (WebCore::WebGLRenderingContext::bindAttribLocation):
2037         (WebCore::WebGLRenderingContext::bindBuffer):
2038         (WebCore::WebGLRenderingContext::bindFramebuffer):
2039         (WebCore::WebGLRenderingContext::bindRenderbuffer):
2040         (WebCore::WebGLRenderingContext::bindTexture):
2041         (WebCore::WebGLRenderingContext::blendColor):
2042         (WebCore::WebGLRenderingContext::blendEquation):
2043         (WebCore::WebGLRenderingContext::blendEquationSeparate):
2044         (WebCore::WebGLRenderingContext::blendFunc):
2045         (WebCore::WebGLRenderingContext::blendFuncSeparate):
2046         (WebCore::WebGLRenderingContext::bufferData):
2047         (WebCore::WebGLRenderingContext::bufferSubData):
2048         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
2049         (WebCore::WebGLRenderingContext::clear):
2050         (WebCore::WebGLRenderingContext::clearColor):
2051         (WebCore::WebGLRenderingContext::clearDepth):
2052         (WebCore::WebGLRenderingContext::clearStencil):
2053         (WebCore::WebGLRenderingContext::colorMask):
2054         (WebCore::WebGLRenderingContext::compileShader):
2055         (WebCore::WebGLRenderingContext::copyTexImage2D):
2056         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2057         (WebCore::WebGLRenderingContext::createBuffer):
2058         (WebCore::WebGLRenderingContext::createFramebuffer):
2059         (WebCore::WebGLRenderingContext::createTexture):
2060         (WebCore::WebGLRenderingContext::createProgram):
2061         (WebCore::WebGLRenderingContext::createRenderbuffer):
2062         (WebCore::WebGLRenderingContext::createShader):
2063         (WebCore::WebGLRenderingContext::cullFace):
2064         (WebCore::WebGLRenderingContext::deleteBuffer):
2065         (WebCore::WebGLRenderingContext::deleteFramebuffer):
2066         (WebCore::WebGLRenderingContext::deleteProgram):
2067         (WebCore::WebGLRenderingContext::deleteRenderbuffer):
2068         (WebCore::WebGLRenderingContext::deleteShader):
2069         (WebCore::WebGLRenderingContext::deleteTexture):
2070         (WebCore::WebGLRenderingContext::depthFunc):
2071         (WebCore::WebGLRenderingContext::depthMask):
2072         (WebCore::WebGLRenderingContext::depthRange):
2073         (WebCore::WebGLRenderingContext::detachShader):
2074         (WebCore::WebGLRenderingContext::disable):
2075         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2076         (WebCore::WebGLRenderingContext::drawArrays):
2077         (WebCore::WebGLRenderingContext::drawElements):
2078         (WebCore::WebGLRenderingContext::enable):
2079         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2080         (WebCore::WebGLRenderingContext::finish):
2081         (WebCore::WebGLRenderingContext::flush):
2082         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
2083         (WebCore::WebGLRenderingContext::framebufferTexture2D):
2084         (WebCore::WebGLRenderingContext::frontFace):
2085         (WebCore::WebGLRenderingContext::generateMipmap):
2086         (WebCore::WebGLRenderingContext::getActiveAttrib):
2087         (WebCore::WebGLRenderingContext::getActiveUniform):
2088         (WebCore::WebGLRenderingContext::getAttachedShaders):
2089         (WebCore::WebGLRenderingContext::getAttribLocation):
2090         (WebCore::WebGLRenderingContext::getBufferParameter):
2091         (WebCore::WebGLRenderingContext::getContextAttributes):
2092         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2093         (WebCore::WebGLRenderingContext::getParameter):
2094         (WebCore::WebGLRenderingContext::getProgramParameter):
2095         (WebCore::WebGLRenderingContext::getProgramInfoLog):
2096         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2097         (WebCore::WebGLRenderingContext::getShaderParameter):
2098         (WebCore::WebGLRenderingContext::getShaderInfoLog):
2099         (WebCore::WebGLRenderingContext::getShaderSource):
2100         (WebCore::WebGLRenderingContext::getTexParameter):
2101         (WebCore::WebGLRenderingContext::getUniform):
2102         (WebCore::WebGLRenderingContext::getUniformLocation):
2103         (WebCore::WebGLRenderingContext::getVertexAttrib):
2104         (WebCore::WebGLRenderingContext::getVertexAttribOffset):
2105         (WebCore::WebGLRenderingContext::hint):
2106         (WebCore::WebGLRenderingContext::isBuffer):
2107         (WebCore::WebGLRenderingContext::isContextLost):
2108         (WebCore::WebGLRenderingContext::isEnabled):
2109         (WebCore::WebGLRenderingContext::isFramebuffer):
2110         (WebCore::WebGLRenderingContext::isProgram):
2111         (WebCore::WebGLRenderingContext::isRenderbuffer):
2112         (WebCore::WebGLRenderingContext::isShader):
2113         (WebCore::WebGLRenderingContext::isTexture):
2114         (WebCore::WebGLRenderingContext::lineWidth):
2115         (WebCore::WebGLRenderingContext::linkProgram):
2116         (WebCore::WebGLRenderingContext::pixelStorei):
2117         (WebCore::WebGLRenderingContext::polygonOffset):
2118         (WebCore::WebGLRenderingContext::readPixels):
2119         (WebCore::WebGLRenderingContext::releaseShaderCompiler):
2120         (WebCore::WebGLRenderingContext::renderbufferStorage):
2121         (WebCore::WebGLRenderingContext::sampleCoverage):
2122         (WebCore::WebGLRenderingContext::scissor):
2123         (WebCore::WebGLRenderingContext::shaderSource):
2124         (WebCore::WebGLRenderingContext::stencilFunc):
2125         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
2126         (WebCore::WebGLRenderingContext::stencilMask):
2127         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
2128         (WebCore::WebGLRenderingContext::stencilOp):
2129         (WebCore::WebGLRenderingContext::stencilOpSeparate):
2130         (WebCore::WebGLRenderingContext::texImage2D):
2131         (WebCore::WebGLRenderingContext::texParameter):
2132         (WebCore::WebGLRenderingContext::texSubImage2DBase):
2133         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
2134         (WebCore::WebGLRenderingContext::texSubImage2D):
2135         (WebCore::WebGLRenderingContext::uniform1f):
2136         (WebCore::WebGLRenderingContext::uniform1fv):
2137         (WebCore::WebGLRenderingContext::uniform1i):
2138         (WebCore::WebGLRenderingContext::uniform1iv):
2139         (WebCore::WebGLRenderingContext::uniform2f):
2140         (WebCore::WebGLRenderingContext::uniform2fv):
2141         (WebCore::WebGLRenderingContext::uniform2i):
2142         (WebCore::WebGLRenderingContext::uniform2iv):
2143         (WebCore::WebGLRenderingContext::uniform3f):
2144         (WebCore::WebGLRenderingContext::uniform3fv):
2145         (WebCore::WebGLRenderingContext::uniform3i):
2146         (WebCore::WebGLRenderingContext::uniform3iv):
2147         (WebCore::WebGLRenderingContext::uniform4f):
2148         (WebCore::WebGLRenderingContext::uniform4fv):
2149         (WebCore::WebGLRenderingContext::uniform4i):
2150         (WebCore::WebGLRenderingContext::uniform4iv):
2151         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2152         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2153         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2154         (WebCore::WebGLRenderingContext::useProgram):
2155         (WebCore::WebGLRenderingContext::validateProgram):
2156         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2157         (WebCore::WebGLRenderingContext::viewport):
2158         (WebCore::WebGLRenderingContext::loseContext):
2159         (WebCore::WebGLRenderingContext::restoreContext):
2160         (WebCore::WebGLRenderingContext::addObject):
2161         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
2162         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
2163         * html/canvas/WebGLRenderingContext.h:
2164         * html/canvas/WebGLRenderingContext.idl:
2165         * platform/graphics/GraphicsContext3D.h:
2166
2167 2010-11-03  Kenneth Russell  <kbr@google.com>
2168
2169         Reviewed by Chris Marrin.
2170
2171         Redesign extension mechanism in GraphicsContext3D
2172         https://bugs.webkit.org/show_bug.cgi?id=46894
2173
2174         Upon request, factored out extension support from GraphicsContext3D
2175         into a new Extensions3D class. (The plural was chosen because the
2176         class and subclasses hold multiple extensions.)
2177
2178         Unlike GraphicsContext3D, Extensions3D contains only pure virtual
2179         methods. This was done because Extensions3D's inheritance diagram
2180         and usage pattern is very different from that of GraphicsContext3D,
2181         and the concrete subclasses need to decide how to implement the
2182         various entry points. Requiring them to be placed at the
2183         Extensions3D level will cause implementation details to leak into
2184         the base class, which is highly undesirable. Any virtual call
2185         overhead to these entry points will be negligible.
2186
2187         Changed call sites utilizing these extensions to call through the
2188         Extensions3D object or its subclasses.
2189
2190         Tested:
2191          - Chromium on Linux with accelerated 2D canvas and HTML5 video
2192          - Chromium on Mac OS X with WebGL and CSS 3D content
2193          - Safari on Mac OS X with WebGL and CSS 3D content
2194
2195         No new tests. Covered by existing tests.
2196
2197         * WebCore.gypi:
2198         * WebCore.pro:
2199         * WebCore.xcodeproj/project.pbxproj:
2200         * platform/graphics/Extensions3D.h: Added.
2201         (WebCore::Extensions3D::~Extensions3D):
2202         * platform/graphics/GraphicsContext3D.cpp:
2203         * platform/graphics/GraphicsContext3D.h:
2204         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2205         (WebCore::DrawingBuffer::DrawingBuffer):
2206         (WebCore::DrawingBuffer::publishToPlatformLayer):
2207         * platform/graphics/chromium/Extensions3DChromium.h: Added.
2208         * platform/graphics/chromium/VideoLayerChromium.cpp:
2209         (WebCore::VideoLayerChromium::updateTexture):
2210         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2211         (WebCore::SharedGraphicsContext3D::supportsBGRA):
2212         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2213         * platform/graphics/gpu/Texture.cpp:
2214         (WebCore::convertFormat):
2215         * platform/graphics/mac/GraphicsContext3DMac.mm:
2216         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added.
2217         (WebCore::Extensions3DOpenGL::Extensions3DOpenGL):
2218         (WebCore::Extensions3DOpenGL::~Extensions3DOpenGL):
2219         (WebCore::Extensions3DOpenGL::supports):
2220         (WebCore::Extensions3DOpenGL::getGraphicsResetStatusARB):
2221         * platform/graphics/opengl/Extensions3DOpenGL.h: Added.
2222         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2223         (WebCore::GraphicsContext3D::getExtensions):
2224         * platform/graphics/qt/Extensions3DQt.cpp: Added.
2225         (WebCore::Extensions3DQt::Extensions3DQt):
2226         (WebCore::Extensions3DQt::~Extensions3DQt):
2227         (WebCore::Extensions3DQt::supports):
2228         (WebCore::Extensions3DQt::getGraphicsResetStatusARB):
2229         * platform/graphics/qt/Extensions3DQt.h: Added.
2230         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2231         (WebCore::GraphicsContext3D::getExtensions):
2232         * platform/graphics/skia/PlatformContextSkia.cpp:
2233         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
2234
2235 2010-11-03  Mike Thole  <mthole@apple.com>
2236
2237         Reviewed by Darin Adler.
2238         
2239         Tweak coding style (follow-up to r71264).
2240         
2241         * platform/mac/Language.mm:
2242         (WebCore::createHTTPStyleLanguageCode): Style tweaks.
2243
2244 2010-11-03  Darin Adler  <darin@apple.com>
2245
2246         Updated Xcode projects by opening them with Xcode 3.2.4.
2247         Updated svn:ignore for Xcode projects.
2248
2249         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added property svn:ignore.
2250         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Updated with Xcode 3.2.4.
2251
2252 2010-11-03  Matthew Delaney  <mdelaney@apple.com>
2253
2254         Reviewed by Darin Adler.
2255
2256         Fix canvas/philip/tests/2d.pattern.image.undefined.html
2257         https://bugs.webkit.org/show_bug.cgi?id=48894
2258
2259         * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Changed error thrown to match the spec.
2260
2261 2010-11-03  Simon Fraser  <simon.fraser@apple.com>
2262
2263         Reviewed by John Sullivan.
2264
2265         Crash when setting context font to bad value
2266         https://bugs.webkit.org/show_bug.cgi?id=48948
2267         
2268         Null-check the CSSValue passed to CSSStyleSelector::applyPropertyToStyle(),
2269         since it may be null if the style declaration does not contain a value
2270         for the 'font' property.
2271
2272         Test: fast/canvas/invalid-set-font-crash.html
2273
2274         * css/CSSStyleSelector.cpp:
2275         (WebCore::CSSStyleSelector::applyPropertyToStyle):
2276
2277 2010-11-03  Mike Thole  <mthole@apple.com>
2278
2279         Reviewed by Alexey Proskuryakov.
2280
2281         Crash under WebCore::platformDefaultLanguage() when using Arabic language
2282         https://bugs.webkit.org/show_bug.cgi?id=48946
2283
2284         * platform/mac/Language.mm:
2285         (WebCore::createHTTPStyleLanguageCode):
2286         Retain the lowercaseLanguageCode string before returning it.  This was the code path that
2287         would lead to a crash.  Also removed early return to prevent a leak of preferredLanguageCode.
2288
2289 2010-11-03  Dan Bernstein  <mitz@apple.com>
2290
2291         Reviewed by Dave Hyatt.
2292
2293         Made table column width allocation algorithms use logical widths.
2294
2295         Part of: Make tables work with vertical text
2296         https://bugs.webkit.org/show_bug.cgi?id=46417
2297
2298         No new tests since tables don’t support different block flows yet.
2299
2300         * rendering/AutoTableLayout.cpp:
2301         (WebCore::AutoTableLayout::AutoTableLayout):
2302         (WebCore::AutoTableLayout::recalcColumn):
2303         (WebCore::AutoTableLayout::fullRecalc):
2304         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
2305         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2306         (WebCore::AutoTableLayout::insertSpanCell):
2307         (WebCore::AutoTableLayout::layout):
2308         * rendering/AutoTableLayout.h:
2309         (WebCore::AutoTableLayout::Layout::Layout):
2310         * rendering/FixedTableLayout.cpp:
2311         (WebCore::FixedTableLayout::calcWidthArray):
2312         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
2313         (WebCore::FixedTableLayout::layout):
2314         * rendering/FixedTableLayout.h:
2315         * rendering/RenderTable.h:
2316         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Renamed, but not changed yet.
2317
2318 2010-11-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
2319
2320         Unreviewed build fix for r71253
2321
2322         #endif for TILED_BACKING_STORE was at the wrong place.
2323
2324         * platform/graphics/qt/GraphicsLayerQt.cpp:
2325         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
2326
2327 2010-11-03  David Hyatt  <hyatt@apple.com>
2328
2329         Reviewed by Dan Bernstein.
2330
2331         https://bugs.webkit.org/show_bug.cgi?id=48945
2332         
2333         Patch logicalLeftSelectionOffset and logicalRightSelectionOffset to be directionally abstract.
2334         
2335         Also make sure writing mode roots are also selection painting roots.
2336
2337         * rendering/RenderBlock.cpp:
2338         (WebCore::RenderBlock::isSelectionRoot):
2339         (WebCore::RenderBlock::logicalLeftSelectionOffset):
2340         (WebCore::RenderBlock::logicalRightSelectionOffset):
2341         * rendering/RenderBlock.h:
2342
2343 2010-11-03  Pavel Feldman  <pfeldman@chromium.org>
2344
2345         Reviewed by Timothy Hatcher.
2346
2347         Web Inspector: main resource is being re-assigned upon iframe's commit load.
2348         https://bugs.webkit.org/show_bug.cgi?id=48940
2349
2350         * inspector/front-end/ResourceManager.js:
2351         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
2352         (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
2353
2354 2010-11-03  Nate Chapin  <japhet@chromium.org>
2355
2356         Reviewed by Alexey Proskuryakov.
2357
2358         Wait to stop all loads for a frame being detached until after its
2359         chidlren have been detached. This ensures that any loads started
2360         by a child's unload event handler will be properly cancelled.
2361         https://bugs.webkit.org/show_bug.cgi?id=46579
2362
2363         Tests: fast/loader/ping-error.html
2364                http/tests/navigation/image-load-in-subframe-unload-handler.html
2365
2366         * loader/FrameLoader.cpp:
2367         (WebCore::FrameLoader::detachFromParent):
2368
2369 2010-11-03  Pavel Feldman  <pfeldman@chromium.org>
2370
2371         Reviewed by Simon Fraser.
2372
2373         Web Inspector: show proper image size for cached resources.
2374         https://bugs.webkit.org/show_bug.cgi?id=48915
2375
2376         * inspector/front-end/ExtensionServer.js:
2377         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
2378         * inspector/front-end/ImageView.js:
2379         (WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):
2380         (WebInspector.ImageView.prototype.contentTabSelected):
2381         (WebInspector.ImageView.prototype._base64ToSize):
2382         * inspector/front-end/NetworkPanel.js:
2383         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
2384         * inspector/front-end/Resource.js:
2385         (WebInspector.Resource.prototype.set finished):
2386         (WebInspector.Resource.prototype.get content):
2387         (WebInspector.Resource.prototype.requestContent):
2388         (WebInspector.Resource.prototype._innerRequestContent):
2389         * inspector/front-end/ResourceManager.js:
2390         (WebInspector.ResourceManager.requestContent):
2391         * inspector/front-end/SourceView.js:
2392         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2393
2394 2010-11-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
2395
2396         Reviewed by Kenneth Rohde Christiansen.
2397
2398         [Qt] GraphicsLayer: support tiling
2399         https://bugs.webkit.org/show_bug.cgi?id=39691
2400
2401         Add support for TiledBackingStore in GraphicsLayerQt, when a layer is too large.
2402
2403         No new tests. Tests in LayoutTests/compositing/tiling now work with OpenGL enabled.
2404
2405         * platform/graphics/qt/GraphicsLayerQt.cpp:
2406         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
2407         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
2408         (WebCore::GraphicsLayerQtImpl::recache):
2409         (WebCore::GraphicsLayerQtImpl::paint):
2410         (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintBegin):
2411         (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaint):
2412         (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintEnd):
2413         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreContentsRect):
2414         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
2415         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreVisibleRect):
2416
2417 2010-11-03  Tony Chang  <tony@chromium.org>
2418
2419         Reviewed by Ojan Vafai.
2420
2421         Undo r54932 which inappropriately adjusts font sizes on zoomed pages
2422         https://bugs.webkit.org/show_bug.cgi?id=48890
2423
2424         Test: editing/inserting/page-zoom-font-size.html
2425
2426         * editing/ReplaceSelectionCommand.cpp:
2427         (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
2428
2429 2010-11-03  Dan Bernstein  <mitz@apple.com>
2430
2431         Reviewed by Dave Hyatt.
2432
2433         Make collapsed borders in tables work with different block flows
2434         https://bugs.webkit.org/show_bug.cgi?id=46191
2435
2436         No new tests since tables don’t support different block flows yet.
2437
2438         This change still doesn’t support cells whose block flow differs from the table’s.
2439
2440         * rendering/AutoTableLayout.cpp:
2441         (WebCore::AutoTableLayout::recalcColumn): Updated for the renaming of styleOrColWidth().
2442         (WebCore::AutoTableLayout::calcEffectiveWidth): Ditto.
2443         * rendering/FixedTableLayout.cpp:
2444         (WebCore::FixedTableLayout::calcWidthArray): Ditto.
2445         * rendering/RenderBlock.cpp:
2446         (WebCore::RenderBlock::computePreferredLogicalWidths): Ditto.
2447         * rendering/RenderTableCell.cpp:
2448         (WebCore::RenderTableCell::styleOrColLogicalWidth): Renamed styleOrColWidth() to this and
2449         changed to use logical widths.
2450         (WebCore::RenderTableCell::computePreferredLogicalWidths): Updated for the above rename.
2451         (WebCore::RenderTableCell::updateLogicalWidth): Renamed updateWidth() to this and changed
2452         to set the logical width.
2453         (WebCore::RenderTableCell::collapsedStartBorder): Changed collapsedLeftBorder() into this.
2454         Note that “start” here will refer to the table’s block flow, not the cell’s, once we allow
2455         the two to differ.
2456         (WebCore::RenderTableCell::collapsedEndBorder): Similar.
2457         (WebCore::RenderTableCell::collapsedBeforeBorder): Similar.
2458         (WebCore::RenderTableCell::collapsedAfterBorder): Similar.
2459         (WebCore::RenderTableCell::collapsedLeftBorder): Resolves “left” to a logical side using
2460         the table’s block flow.
2461         (WebCore::RenderTableCell::collapsedRightBorder): Similar.
2462         (WebCore::RenderTableCell::collapsedTopBorder): Similar.
2463         (WebCore::RenderTableCell::collapsedBottomBorder): Similar.
2464         (WebCore::RenderTableCell::borderStart): Use borderHalfStart().
2465         (WebCore::RenderTableCell::borderEnd): Similar.
2466         (WebCore::RenderTableCell::borderBefore): Similar.
2467         (WebCore::RenderTableCell::borderAfter): Similar.
2468         (WebCore::RenderTableCell::borderHalfLeft): Resolves “left” to a logical side using the
2469         table’s block flow.
2470         (WebCore::RenderTableCell::borderHalfRight): Similar.
2471         (WebCore::RenderTableCell::borderHalfTop): Similar.
2472         (WebCore::RenderTableCell::borderHalfBottom): Similar.
2473         (WebCore::RenderTableCell::borderHalfStart): Added. Uses collapsedStartBorder(). Splits odd
2474         widths based on physical side.
2475         (WebCore::RenderTableCell::borderHalfEnd): Similar.
2476         (WebCore::RenderTableCell::borderHalfBefore): Similar.
2477         (WebCore::RenderTableCell::borderHalfAfter): Similar.
2478         (WebCore::RenderTableCell::collectBorderStyles): Use logical methods.
2479         (WebCore::RenderTableCell::paintCollapsedBorder): Updated.
2480         * rendering/RenderTableCell.h:
2481         * rendering/RenderTableSection.cpp:
2482         (WebCore::RenderTableSection::setCellWidths): Updated for the renaming of updateWidth().
2483         * rendering/style/RenderStyle.cpp:
2484         (WebCore::RenderStyle::borderBefore): Added.
2485         (WebCore::RenderStyle::borderAfter): Added.
2486         (WebCore::RenderStyle::borderStart): Added.
2487         (WebCore::RenderStyle::borderEnd): Adeed.
2488         * rendering/style/RenderStyle.h:
2489
2490 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
2491
2492         Fix Win build correctly after r71244 and r71248
2493
2494         * WebCore.vcproj/WebCore.vcproj: Added XML gobbledygook back.
2495         * dom/DOMAllInOne.cpp: Added files to build into a combined file.
2496
2497 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
2498
2499         Fix Qt, Win builds after r71244.
2500
2501         * WebCore.vcproj/WebCore.vcproj: Removed XML gobbledygook that prevents files from building.
2502         * dom/Text.cpp:
2503         (WebCore::Text::createRenderer): Moved parentOrHost inside ENABLE(SVG) guard.
2504
2505 2010-11-03  David Hyatt  <hyatt@apple.com>
2506
2507         Reviewed by Dan Bernstein.
2508
2509         https://bugs.webkit.org/show_bug.cgi?id=48928
2510         
2511         Rename all the selection gap functions to not be directionally specific.  Left and Right turn into LogicalLeft and
2512         LogicalRight.  Horizontal becomes Line.  Vertical becomes Block.
2513
2514         * rendering/RenderBlock.cpp:
2515         (WebCore::RenderBlock::selectionGapRectsForRepaint):
2516         (WebCore::RenderBlock::paintSelection):
2517         (WebCore::RenderBlock::fillSelectionGaps):
2518         (WebCore::RenderBlock::fillInlineSelectionGaps):
2519         (WebCore::RenderBlock::fillBlockSelectionGaps):
2520         (WebCore::RenderBlock::fillLineSelectionGap):
2521         (WebCore::RenderBlock::fillBlockSelectionGap):
2522         (WebCore::RenderBlock::fillLogicalLeftSelectionGap):
2523         (WebCore::RenderBlock::fillLogicalRightSelectionGap):
2524         (WebCore::RenderBlock::getSelectionGapInfo):
2525         (WebCore::RenderBlock::logicalLeftSelectionOffset):
2526         (WebCore::RenderBlock::logicalRightSelectionOffset):
2527         * rendering/RenderBlock.h:
2528         * rendering/RootInlineBox.cpp:
2529         (WebCore::RootInlineBox::fillLineSelectionGap):
2530
2531 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
2532
2533         Reviewed by Darin Adler.
2534
2535         Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
2536         https://bugs.webkit.org/show_bug.cgi?id=46015
2537
2538         This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
2539         for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
2540
2541         This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
2542         appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
2543
2544         * Android.mk: Added EventContext, WindowEventContext files.
2545         * CMakeLists.txt: Ditto.
2546         * GNUmakefile.am: Ditto.
2547         * WebCore.gypi: Ditto.
2548         * WebCore.pro: Ditto.
2549         * WebCore.xcodeproj/project.pbxproj: Ditto.
2550         * WebCore.vcproj/WebCore.vcproj: Ditto.
2551         * dom/ContainerNode.cpp:
2552         (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
2553         * dom/EventContext.cpp: Added.
2554         * dom/EventContext.h: Added.
2555         * dom/Node.cpp:
2556         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
2557         (WebCore::Node::createRendererIfNeeded): Ditto.
2558         (WebCore::Node::parentOrHostNode): Added new helper method.
2559         (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
2560         (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
2561         (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
2562         (WebCore::Node::topEventContext): Added.
2563         (WebCore::eventHasListeners): Changed to use EventContexts.
2564         (WebCore::Node::dispatchGenericEvent): Ditto.
2565         * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
2566             and changed signature of eventAncestors to use EventContexts.
2567         * dom/Text.cpp:
2568         (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
2569         * inspector/InspectorDOMAgent.cpp:
2570         (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
2571         * page/EventHandler.cpp:
2572         (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
2573         * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
2574         is deleted.
2575         * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
2576         * svg/SVGElement.h: Ditto.
2577         * dom/WindowEventContext.cpp: Added.
2578         * dom/WindowEventContext.h: Added.
2579
2580 2010-11-02  Mikhail Naganov  <mnaganov@chromium.org>
2581
2582         Reviewed by Pavel Feldman.
2583
2584         Web Inspector: Fix console messages about starting and finishing profiling.
2585
2586         https://bugs.webkit.org/show_bug.cgi?id=48825
2587
2588         * inspector/InspectorProfilerAgent.cpp:
2589         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
2590         * inspector/front-end/ProfilesPanel.js:
2591         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
2592
2593 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
2594
2595         Reviewed by Andreas Kling.
2596
2597         chrome.dll!WebCore::SVGLength::SVGLength ...
2598         https://bugs.webkit.org/show_bug.cgi?id=48831
2599
2600         Test: svg/dom/baseVal-animVal-crash.html
2601
2602         * svg/properties/SVGListPropertyTearOff.h:
2603         (WebCore::SVGListPropertyTearOff::initialize): Renamed removeItemFromListIfNeeded to processIncomingListItem, to reflect its new job.
2604         (WebCore::SVGListPropertyTearOff::insertItemBefore): Ditto.
2605         (WebCore::SVGListPropertyTearOff::replaceItem): Ditto.
2606         (WebCore::SVGListPropertyTearOff::appendItem): Ditto.
2607         (WebCore::SVGListPropertyTearOff::processIncomingListItem): Copy incoming item, if necessary, see inline comments.
2608         * svg/properties/SVGPropertyTearOff.h:
2609         (WebCore::SVGPropertyTearOff::detachWrapper): Remove association with SVGAnimatedProperty, when wrapper is detached.
2610
2611 2010-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2612
2613         Reviewed by Andreas Kling.
2614
2615         Make it possible to delegate scrolling to the UI
2616         https://bugs.webkit.org/show_bug.cgi?id=48907
2617
2618         Add a WebCore setting for delegating scrolling to the actual
2619         WebKit view, which means that setScrollPosition will call
2620         scrollContents directly without going though the scrollbar
2621         code.
2622
2623         * page/FrameView.cpp:
2624         (WebCore::FrameView::delegatesScrolling):
2625         * page/FrameView.h:
2626         * page/Settings.cpp:
2627         (WebCore::Settings::Settings):
2628         (WebCore::Settings::setShouldDelegateScrolling):
2629         * page/Settings.h:
2630         (WebCore::Settings::shouldDelegateScrolling):
2631         * platform/ScrollView.cpp:
2632         (WebCore::ScrollView::setScrollPosition):
2633         * platform/ScrollView.h:
2634         (WebCore::ScrollView::delegatesScrolling):
2635
2636 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
2637
2638         Reviewed by Adam Roben.
2639
2640         [WINCE] Add SharedBitmap
2641         https://bugs.webkit.org/show_bug.cgi?id=28272
2642
2643         SharedBitmap is a helper class used as NativeImagePtr for WinCE.
2644         It's wide used by WinCE graphics files as a replacement of HBITMAP.
2645
2646         Originally written by Yong Li <yong.li@torchmobile.com>.
2647
2648         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2649         (WebCore::TransparentLayerDC::TransparentLayerDC):
2650         (WebCore::TransparentLayerDC::~TransparentLayerDC):
2651         (WebCore::ScopeDCProvider::ScopeDCProvider):
2652         (WebCore::ScopeDCProvider::~ScopeDCProvider):
2653         (WebCore::GraphicsContext::drawText):
2654         * platform/graphics/wince/SharedBitmap.cpp: Added.
2655         (WebCore::SharedBitmap::create):
2656         (WebCore::SharedBitmap::SharedBitmap):
2657         (WebCore::SharedBitmap::~SharedBitmap):
2658         (WebCore::SharedBitmap::resetPixels):
2659         (WebCore::convert32To16):
2660         (WebCore::SharedBitmap::to16bit):
2661         (WebCore::SharedBitmap::freeMemory):
2662         (WebCore::SharedBitmap::createHandle):
2663         (WebCore::SharedBitmap::ensureHandle):
2664         (WebCore::SharedBitmap::draw):
2665         (WebCore::SharedBitmap::clipBitmap):
2666         (WebCore::drawPatternSimple):
2667         (WebCore::normalizePhase):
2668         (WebCore::SharedBitmap::drawPattern):
2669         (WebCore::SharedBitmap::DCProvider::getDC):
2670         (WebCore::SharedBitmap::DCProvider::releaseDC):
2671         (WebCore::SharedBitmap::clearPixels):
2672         * platform/graphics/wince/SharedBitmap.h: Added.
2673         (WebCore::DCProvider::getDC):
2674         (WebCore::DCProvider::releaseDC):
2675         (WebCore::DCProvider::DCHolder::DCHolder):
2676         (WebCore::DCProvider::DCHolder::~DCHolder):
2677         (WebCore::DCProvider::DCHolder::set):
2678         (WebCore::DCProvider::DCHolder::get):
2679         (WebCore::DCProvider::DCHolder::clearInternal):
2680         (WebCore::DCProvider::DCHolder::setInternal):
2681
2682 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
2683
2684         Reviewed by Dirk Schulze.
2685
2686         chrome.dll!WebCore::SVGListPropertyTearOff<...>::getItem ReadAV@NULL (578c0f7f21ca517ba29a4eafb7099c1b)
2687         https://bugs.webkit.org/show_bug.cgi?id=48829
2688
2689         Share SVGPropertyTearOff wrapper cache between SVGAnimatedListPropertyTearOff::baseVal/animVal.
2690         When modifying the list through baseVal, and then grabbing the animVal list an assertion was fired,
2691         as the wrapper cache was out of sync with the underlying SVG*List vector.
2692
2693         Test: svg/dom/baseVal-animVal-list-crash.html
2694
2695         * svg/properties/SVGAnimatedListPropertyTearOff.h:
2696         (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
2697         (WebCore::SVGAnimatedListPropertyTearOff::animVal):
2698         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
2699         (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
2700         (WebCore::SVGAnimatedListPropertyTearOff::values):
2701         (WebCore::SVGAnimatedListPropertyTearOff::wrappers):
2702         (WebCore::SVGAnimatedListPropertyTearOff::create):
2703         (WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
2704         * svg/properties/SVGListPropertyTearOff.h:
2705         (WebCore::SVGListPropertyTearOff::create):
2706         (WebCore::SVGListPropertyTearOff::removeItemFromList):
2707         (WebCore::SVGListPropertyTearOff::clear):
2708         (WebCore::SVGListPropertyTearOff::numberOfItems):
2709         (WebCore::SVGListPropertyTearOff::initialize):
2710         (WebCore::SVGListPropertyTearOff::getItem):
2711         (WebCore::SVGListPropertyTearOff::insertItemBefore):
2712         (WebCore::SVGListPropertyTearOff::replaceItem):
2713         (WebCore::SVGListPropertyTearOff::removeItem):
2714         (WebCore::SVGListPropertyTearOff::appendItem):
2715         (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
2716         (WebCore::SVGListPropertyTearOff::commitChange):
2717
2718 2010-11-02  Ilya Tikhonovsky  <loislo@chromium.org>
2719
2720         Reviewed by Pavel Feldman.
2721
2722         Web Inspector: Remove obsolete code.
2723         It is not required to push onload and DOMContentLoaded events times to the fresh instance of Inspector.
2724         Network Panel is showing the markers only after reloading the inspected page.
2725         https://bugs.webkit.org/show_bug.cgi?id=48854
2726
2727         * inspector/InspectorController.cpp:
2728         (WebCore::InspectorController::InspectorController):
2729         (WebCore::InspectorController::populateScriptObjects):
2730         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
2731         (WebCore::InspectorController::mainResourceFiredLoadEvent):
2732         * inspector/InspectorController.h:
2733
2734 2010-11-03  Pavel Feldman  <pfeldman@chromium.org>
2735
2736         Reviewed by Jeremy Orlow.
2737
2738         Web Inspector: brush up breakpoints UI and UX.
2739         https://bugs.webkit.org/show_bug.cgi?id=48901
2740
2741         * inspector/front-end/BreakpointManager.js:
2742         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
2743         (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
2744         * inspector/front-end/BreakpointsSidebarPane.js:
2745         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
2746         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
2747         (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
2748         (WebInspector.BreakpointItem):
2749         * inspector/front-end/ElementsTreeOutline.js:
2750         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
2751         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2752         * inspector/front-end/PropertiesSection.js:
2753         (WebInspector.PropertiesSection):
2754         * inspector/front-end/inspector.css:
2755         (.monospace):
2756         (body.platform-mac.platform-mac-snowleopard .source-code):
2757         (body.platform-windows .monospace, body.platform-windows .source-code):
2758         (body.platform-linux .monospace, body.platform-linux .source-code):
2759         (.source-code):
2760         (.section .header):
2761         (.section .header::before):
2762         (.section .header .title, .event-bar .header .title):
2763         (.section .header .subtitle, .event-bar .header .subtitle):
2764         (.section.expanded .properties, .event-bar.expanded .event-properties):
2765         (.event-listener-breakpoints .event-category):
2766         (.event-listener-breakpoints.properties-tree .children li):
2767         (.event-listener-breakpoints .checkbox-elem):
2768         (.event-bar):
2769         (.event-bars .event-bar .header .title):
2770         (.event-bars .event-bar .header::before):
2771         (.pane > .body .info):
2772         (.pane > .body .placard + .info):
2773         (ol.breakpoint-list):
2774         (.breakpoint-list li):
2775         (.pane .breakpoint-hit):
2776         (.cursor-pointer):
2777         (.cursor-auto):
2778
2779 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
2780
2781         Not reviewed.
2782
2783         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
2784         https://bugs.webkit.org/show_bug.cgi?id=48898
2785
2786         Fix Chromium/V8 build for real, verified using a local ToT Chromium build.
2787
2788         * bindings/scripts/CodeGeneratorV8.pm:
2789
2790 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
2791
2792         Not reviewed.
2793
2794         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
2795         https://bugs.webkit.org/show_bug.cgi?id=48898
2796
2797         Next attempt to fix the Chromium/V8 builds - a class forward in the headers was still missing.
2798
2799         * bindings/scripts/CodeGeneratorV8.pm: Add SVGStringListPropertyTearOff in the V8SVGStringList header.
2800
2801 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
2802
2803         Not reviewed.
2804
2805         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
2806         https://bugs.webkit.org/show_bug.cgi?id=48898
2807
2808         Attempt to fix the Chromium/V8 builds.
2809
2810         * bindings/scripts/CodeGeneratorV8.pm: Add missing "SVGStringListPropertyTearOff.h" include, also replaces some commas by semicolons (no idea why it worked before, Perl is not strict...)
2811
2812 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
2813
2814         Reviewed by Dirk Schulze.
2815
2816         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
2817         https://bugs.webkit.org/show_bug.cgi?id=48898
2818
2819         Convert SVGAnimatedString/SVGStringList to the new svg animated type concept.
2820         SVGStringList is special compared to all other SVG*Lists, as it returns non-live elements.
2821         That means myStringList.getItem(0) = 'foobar' doesn't take effect.
2822
2823         When appending an item to a SVGStringList, that has been taken from another list, it's not removed from the list origin.
2824         That demanded a new SVGStringListPropertyTearOff which does just that.
2825
2826         Tests: svg/W3C-SVG-1.1-SE/types-dom-06-f.svg
2827                svg/dom/SVGStringList.html
2828
2829         * GNUmakefile.am: Add SVGAnimatedString.h / SVGStringListPropertyTearOff.h to build.
2830         * WebCore.gypi: Ditto.
2831         * WebCore.pro: Ditto.
2832         * WebCore.vcproj/WebCore.vcproj: Ditto.
2833         * WebCore.xcodeproj/project.pbxproj: Ditto.
2834         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedString as new style svg animated type. Map SVGStringList to SVGStringListPropertyTearOff.
2835         * bindings/scripts/CodeGeneratorJS.pm: Handle SVGStringListPropertyTearOff in GetSVGPropertyTypes.
2836         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
2837         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2838         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedString handling.
2839         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
2840         * svg/SVGAElement.cpp: Renamed target to svgTarget() to avoid clashes with Element::target(), adjust the bindings to call svgTarget() instead of target(), when processing SVGAElement.
2841         (WebCore::SVGAElement::parseMappedAttribute):
2842         (WebCore::SVGAElement::synchronizeProperty):
2843         * svg/SVGAElement.h:
2844         * svg/SVGAltGlyphElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
2845         * svg/SVGAnimatedString.h: Added.
2846         * svg/SVGCursorElement.h: Ditto.
2847         * svg/SVGFEBlendElement.h: Ditto.
2848         * svg/SVGFEColorMatrixElement.h: Ditto.
2849         * svg/SVGFEComponentTransferElement.h: Ditto.
2850         * svg/SVGFECompositeElement.h: Ditto.
2851         * svg/SVGFEConvolveMatrixElement.h: Ditto.
2852         * svg/SVGFEDiffuseLightingElement.h: Ditto.
2853         * svg/SVGFEDisplacementMapElement.h: Ditto.
2854         * svg/SVGFEGaussianBlurElement.h: Ditto.
2855         * svg/SVGFEImageElement.h: Ditto.
2856         * svg/SVGFEMergeNodeElement.h: Ditto.
2857         * svg/SVGFEMorphologyElement.h: Ditto.
2858         * svg/SVGFEOffsetElement.h: Ditto.
2859         * svg/SVGFESpecularLightingElement.h: Ditto.
2860         * svg/SVGFETileElement.h: Ditto.
2861         * svg/SVGFilterElement.h: Ditto.
2862         * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
2863         * svg/SVGForeignObjectElement.h: Ditto.
2864         * svg/SVGGradientElement.h: Ditto.
2865         * svg/SVGImageElement.h: Ditto. 
2866         * svg/SVGLengthList.idl: Remove leftover SVGListProperty marker.
2867         * svg/SVGMPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
2868         * svg/SVGPatternElement.h: Ditto.
2869         * svg/SVGScriptElement.h: Ditto.
2870         * svg/SVGStringList.cpp: Make SVGStringList a plain Vector<String>.
2871         (WebCore::SVGStringList::commitChange): React to SVGStringList changes.
2872         (WebCore::SVGStringList::reset):
2873         (WebCore::SVGStringList::parse):
2874         * svg/SVGStringList.h:
2875         (WebCore::SVGStringList::SVGStringList):
2876         * svg/SVGStyledElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
2877         * svg/SVGTRefElement.h: Ditto.
2878         * svg/SVGTests.cpp: Adapt to SVGStringList API changes.
2879         (WebCore::SVGTests::SVGTests):
2880         (WebCore::SVGTests::hasExtension):
2881         (WebCore::SVGTests::isValid):
2882         (WebCore::SVGTests::parseMappedAttribute):
2883         (WebCore::SVGTests::isKnownAttribute):
2884         * svg/SVGTests.h: Ditto.
2885         (WebCore::SVGTests::requiredFeatures):
2886         (WebCore::SVGTests::requiredExtensions):
2887         (WebCore::SVGTests::systemLanguage):
2888         * svg/SVGTextPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
2889         * svg/SVGURIReference.h: Adapt to SVGStringList API changes.
2890         (WebCore::SVGURIReference::~SVGURIReference):
2891         * svg/SVGUseElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
2892         * svg/SVGViewElement.cpp: Adapt to SVGStringList API changes.
2893         (WebCore::SVGViewElement::SVGViewElement):
2894         (WebCore::SVGViewElement::parseMappedAttribute):
2895         * svg/SVGViewElement.h: Ditto.
2896         (WebCore::SVGViewElement::viewTarget):
2897         * svg/properties/SVGAnimatedPropertyMacros.h: Moved GetOwnerElementForType heleprs from SVGAnimatedPropertySynchronizer into this file.
2898         * svg/properties/SVGAnimatedPropertySynchronizer.h: 
2899         * svg/properties/SVGPropertyTraits.h: Handle SVGStringList.
2900         * svg/properties/SVGStringListPropertyTearOff.h: Added. This is a simplified version of SVGListPropertyTearOff, tied to SVGStringList and its special demands.
2901         (WebCore::SVGStringListPropertyTearOff::create):
2902         (WebCore::SVGStringListPropertyTearOff::clear):
2903         (WebCore::SVGStringListPropertyTearOff::numberOfItems):
2904         (WebCore::SVGStringListPropertyTearOff::initialize):
2905         (WebCore::SVGStringListPropertyTearOff::getItem):
2906         (WebCore::SVGStringListPropertyTearOff::insertItemBefore):
2907         (WebCore::SVGStringListPropertyTearOff::replaceItem):
2908         (WebCore::SVGStringListPropertyTearOff::removeItem):
2909         (WebCore::SVGStringListPropertyTearOff::appendItem):
2910         (WebCore::SVGStringListPropertyTearOff::SVGStringListPropertyTearOff):
2911
2912 2010-11-03  Zoltan Herczeg  <zherczeg@webkit.org>
2913
2914         Reviewed by Dirk Schulze.
2915
2916         SVG FELighting performance issues
2917         https://bugs.webkit.org/show_bug.cgi?id=48212
2918
2919         This patch speeds-up FELighting filter painting by 40%
2920         It reduces the number of floating point operations and
2921         empolys faster pixel manipulation (both for read and
2922         write). Furthermore the length() member of FloatPoint3D
2923         is made inline to speed up vector length calculations.
2924
2925         The lighting filter pixels tests are cover this patch.
2926
2927         * platform/graphics/FloatPoint3D.cpp:
2928         * platform/graphics/FloatPoint3D.h:
2929         (WebCore::FloatPoint3D::length):
2930         * platform/graphics/filters/FELighting.cpp:
2931         (WebCore::FELighting::LightingData::topLeft):
2932         (WebCore::FELighting::LightingData::topRow):
2933         (WebCore::FELighting::LightingData::topRight):
2934         (WebCore::FELighting::LightingData::leftColumn):
2935         (WebCore::FELighting::LightingData::interior):
2936         (WebCore::FELighting::LightingData::rightColumn):
2937         (WebCore::FELighting::LightingData::bottomLeft):
2938         (WebCore::FELighting::LightingData::bottomRow):
2939         (WebCore::FELighting::LightingData::bottomRight):
2940         (WebCore::FELighting::inlineSetPixel):
2941         (WebCore::FELighting::setPixel):
2942         (WebCore::FELighting::drawLighting):
2943         (WebCore::FELighting::apply):
2944         * platform/graphics/filters/FELighting.h:
2945         * platform/graphics/filters/LightSource.cpp:
2946         (WebCore::PointLightSource::updatePaintingData):
2947         (WebCore::SpotLightSource::updatePaintingData):
2948         (WebCore::DistantLightSource::initPaintingData):
2949         * platform/graphics/filters/LightSource.h:
2950
2951 2010-11-03  Daniel Bates  <dbates@rim.com>
2952
2953         Reviewed by Adam Barth.
2954
2955         For unnamed frames, window.name returns a generated name
2956         https://bugs.webkit.org/show_bug.cgi?id=6751
2957
2958         Part 2 of 2.
2959
2960         Fixes an issue where the window.name of an unnamed frame returns
2961         a unique generated name that is used internally to identify the
2962         frame. Instead, we should return an empty string as implied by
2963         section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
2964         This section describes that a browsing context can have no name or be
2965         the empty string.
2966
2967         * html/HTMLFrameElementBase.cpp:
2968         (WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
2969         frame name since this is valid as per the HTML5 spec.
2970         (WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
2971         since the loader code no longer depends on the frame name being unique.
2972         * page/DOMWindow.cpp:
2973         (WebCore::DOMWindow::name): Modified to call FrameTree::name().
2974         * page/FrameTree.cpp:
2975         (WebCore::FrameTree::setName):
2976         (WebCore::FrameTree::clearName):
2977         * page/FrameTree.h:
2978         (WebCore::FrameTree::name): Re-added; returns the DOM-specified name of the
2979         frame. Previously, this method returned the internal frame name.
2980
2981 2010-11-03  takano takumi  <takano1@asia.apple.com>
2982
2983         Reviewed by Dan Bernstein.
2984
2985         Add text-combine property to our property list. Reflect the setting to a RenderStyle object.
2986         https://bugs.webkit.org/show_bug.cgi?id=48608
2987
2988         Test: fast/text/international/text-combine-parser-test.html
2989
2990         * css/CSSComputedStyleDeclaration.cpp: Added text-combine property support.
2991         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2992         * css/CSSParser.cpp: Added text-combine property support.
2993         (WebCore::CSSParser::parseValue):
2994         * css/CSSPrimitiveValueMappings.h: Added a primitive value mapper for text-combine
2995         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2996         (WebCore::CSSPrimitiveValue::operator TextCombine):
2997         * css/CSSPropertyNames.in: Added "text-combine".
2998         * css/CSSStyleSelector.cpp: Added text-combine property support.
2999         (WebCore::CSSStyleSelector::applyProperty):
3000         * css/CSSValueKeywords.in: Added values for text-combine.
3001         * rendering/style/RenderStyle.cpp:
3002         (WebCore::RenderStyle::diff): Added check of text-combine value.
3003         * rendering/style/RenderStyle.h: Added accessors for text-combine.
3004         (WebCore::InheritedFlags::textCombine):
3005         (WebCore::InheritedFlags::setTextCombine):
3006         (WebCore::InheritedFlags::initialTextCombine):
3007         * rendering/style/RenderStyleConstants.h:
3008         * rendering/style/StyleRareNonInheritedData.cpp: Added text-combine property support.
3009         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3010         (WebCore::StyleRareNonInheritedData::operator==):
3011         * rendering/style/StyleRareNonInheritedData.h: Added text-combine entry for RenderStyle object here.
3012
3013 2010-11-02  Daniel Bates  <dbates@rim.com>
3014
3015         Reviewed by Adam Barth.
3016
3017         For unnamed frames, window.name returns a generated name
3018         https://bugs.webkit.org/show_bug.cgi?id=6751
3019
3020         Part 1 of 2.
3021
3022         Towards fixing bug #6751, rename FrameTree::name() to FrameTree::uniqueName(),
3023         which is more descriptive of its purpose. A follow up patch will re-add
3024         FrameTree::name() which will return the DOM-specified name of the frame.
3025
3026         We will also take this opportunity to verify that we have found all the
3027         call sites of FrameTree::name().
3028
3029         * loader/DocumentLoader.cpp:
3030         (WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
3031         * loader/FrameLoader.cpp:
3032         (WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
3033         (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
3034         * loader/HistoryController.cpp:
3035         (WebCore::HistoryController::saveDocumentState): Ditto.
3036         (WebCore::HistoryController::restoreDocumentState): Ditto.
3037         (WebCore::HistoryController::createItem): Ditto.
3038         (WebCore::HistoryController::currentFramesMatchItem): Ditto.
3039         * loader/ProgressTracker.cpp:
3040         (WebCore::ProgressTracker::progressStarted): Ditto.
3041         (WebCore::ProgressTracker::progressCompleted): Ditto.
3042         * loader/archive/cf/LegacyWebArchive.cpp:
3043         (WebCore::LegacyWebArchive::create): Ditto.
3044         * page/DOMWindow.cpp:
3045         (WebCore::DOMWindow::name): Ditto.
3046         * page/FrameTree.cpp:
3047         (WebCore::FrameTree::setName): Ditto.
3048         (WebCore::FrameTree::clearName): Ditto.
3049         (WebCore::FrameTree::uniqueChildName): Ditto.
3050         (WebCore::FrameTree::child): Ditto.
3051         (WebCore::FrameTree::find): Ditto.
3052         * page/FrameTree.h:
3053         (WebCore::FrameTree::uniqueName): Renamed (formerly FrameTree::name()).
3054
3055 2010-11-02  Chris Rogers  <crogers@google.com>
3056
3057         Reviewed by James Robinson.
3058
3059         Add AudioProcessingEvent files
3060         https://bugs.webkit.org/show_bug.cgi?id=48884
3061
3062         No new tests since audio API is not yet implemented.
3063
3064         * webaudio/AudioProcessingEvent.cpp: Added.
3065         (WebCore::AudioProcessingEvent::create):
3066         (WebCore::AudioProcessingEvent::AudioProcessingEvent):
3067         (WebCore::AudioProcessingEvent::~AudioProcessingEvent):
3068         (WebCore::AudioProcessingEvent::isAudioProcessingEvent):
3069         * webaudio/AudioProcessingEvent.h: Added.
3070         (WebCore::AudioProcessingEvent::inputBuffer):
3071         (WebCore::AudioProcessingEvent::outputBuffer):
3072         * webaudio/AudioProcessingEvent.idl: Added.
3073
3074 2010-11-02  Al Patrick  <apatrick@chromium.org>
3075
3076         Reviewed by Kenneth Russell.
3077
3078         Added PluginLayerChromium, which composites plugin instances that have an associated OpenGL backing texture.
3079
3080         https://bugs.webkit.org/show_bug.cgi?id=48032
3081
3082         * WebCore.gypi:
3083         * loader/SubframeLoader.cpp
3084         (WebCore::SubframeLoader::loadPlugin):
3085         * platform/graphics/chromium/LayerChromium.cpp:
3086         (WebCore::LayerChromium::setNeedsDisplay):
3087         * platform/graphics/chromium/LayerRendererChromium.cpp:
3088         (WebCore::LayerRendererChromium::initializeSharedObjects):
3089         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3090         * platform/graphics/chromium/LayerRendererChromium.h:
3091         (WebCore::LayerRendererChromium::pluginLayerSharedValues):
3092         * platform/graphics/chromium/PluginLayerChromium.cpp: Added.
3093         (WebCore::PluginLayerChromium::SharedValues::SharedValues):
3094         (WebCore::PluginLayerChromium::SharedValues::~SharedValues):
3095         (WebCore::PluginLayerChromium::create):
3096         (WebCore::PluginLayerChromium::PluginLayerChromium):
3097         (WebCore::PluginLayerChromium::updateContents):
3098         (WebCore::PluginLayerChromium::draw):
3099         * platform/graphics/chromium/PluginLayerChromium.h: Added.
3100         (WebCore::PluginLayerChromium::drawsContent):
3101         (WebCore::PluginLayerChromium::setTextureId):
3102         (WebCore::PluginLayerChromium::SharedValues::shaderProgram):
3103         (WebCore::PluginLayerChromium::SharedValues::shaderSamplerLocation):
3104         (WebCore::PluginLayerChromium::SharedValues::shaderMatrixLocation):
3105         (WebCore::PluginLayerChromium::SharedValues::shaderAlphaLocation):
3106         (WebCore::PluginLayerChromium::SharedValues::initialized):
3107
3108 2010-11-02  James Simonsen  <simonjam@chromium.org>
3109
3110         Reviewed by Adam Barth.
3111
3112         mathml in html sometimes incorrectly parsed
3113         https://bugs.webkit.org/show_bug.cgi?id=48105
3114
3115         * html/parser/HTMLTreeBuilder.cpp:
3116         (WebCore::HTMLTreeBuilder::processEndTag): Fixed to match HTML5 spec.
3117
3118 2010-11-02  Chris Guillory  <chris.guillory@google.com>
3119
3120         Reviewed by Dmitry Titov.
3121
3122         Null check obj in AXObjectCache::postPlatformNotification.
3123         https://bugs.webkit.org/show_bug.cgi?id=48896
3124
3125         * accessibility/chromium/AXObjectCacheChromium.cpp:
3126         (WebCore::AXObjectCache::postPlatformNotification):
3127
3128 2010-11-02  Kavita Kanetkar  <kkanetkar@chromium.org>
3129
3130         Reviewed by Dumitru Daniliuc.
3131
3132         [FileSystem] Support not creating directories when queried by inspector.
3133         https://bugs.webkit.org/show_bug.cgi?id=48169
3134
3135         * fileapi/LocalFileSystem.cpp:
3136         (WebCore::openFileSystem):
3137         (WebCore::LocalFileSystem::readFileSystem):
3138         (WebCore::LocalFileSystem::requestFileSystem):
3139         * fileapi/LocalFileSystem.h:
3140         * platform/AsyncFileSystem.cpp:
3141         (WebCore::AsyncFileSystem::openFileSystem):
3142         * platform/AsyncFileSystem.h:
3143
3144 2010-11-02  Chris Rogers  <crogers@google.com>
3145
3146         Reviewed by Kenneth Russell.
3147
3148         Add AudioBufferSourceNode files
3149         https://bugs.webkit.org/show_bug.cgi?id=48012
3150
3151         No new tests since audio API is not yet implemented.
3152
3153         * webaudio/AudioBufferSourceNode.cpp: Added.
3154         (WebCore::AudioBufferSourceNode::create):
3155         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
3156         (WebCore::AudioBufferSourceNode::~AudioBufferSourceNode):
3157         (WebCore::AudioBufferSourceNode::process):
3158         (WebCore::AudioBufferSourceNode::provideInput):
3159         (WebCore::AudioBufferSourceNode::readFromBuffer):
3160         (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
3161         (WebCore::AudioBufferSourceNode::reset):
3162         (WebCore::AudioBufferSourceNode::setBuffer):
3163         (WebCore::AudioBufferSourceNode::numberOfChannels):
3164         (WebCore::AudioBufferSourceNode::noteOn):
3165         (WebCore::AudioBufferSourceNode::noteGrainOn):
3166         (WebCore::AudioBufferSourceNode::noteOff):
3167         (WebCore::AudioBufferSourceNode::totalPitchRate):
3168         * webaudio/AudioBufferSourceNode.h: Added.
3169         (WebCore::AudioBufferSourceNode::buffer):
3170         (WebCore::AudioBufferSourceNode::looping):
3171         (WebCore::AudioBufferSourceNode::setLooping):
3172         (WebCore::AudioBufferSourceNode::gain):
3173         (WebCore::AudioBufferSourceNode::playbackRate):
3174         (WebCore::AudioBufferSourceNode::setPannerNode):
3175         * webaudio/AudioBufferSourceNode.idl: Added.
3176
3177 2010-11-02  Martin Robinson  <mrobinson@igalia.com>
3178
3179         Reviewed by Adam Barth.
3180
3181         [Cairo] Remove PlatformRefPtrCairo
3182         https://bugs.webkit.org/show_bug.cgi?id=48192
3183
3184         Replace PlatformRefPtrCairo with a RefPtr specialization for Cairo and
3185         Fontconfig types. This is the first step toward removing PlatformRefPtr,
3186         whose job is better handled by RefPtr.
3187
3188         * CMakeListsEfl.txt: Update the sources list to include RefPtrCairo
3189         instead of PlatformRefPtrCairo.
3190         * GNUmakefile.am: Ditto.
3191         * WebCore.vcproj/WebCore.vcproj: Ditto.
3192         * platform/graphics/GraphicsContext.h: Replace PlatformRefPtrCairo with
3193         RefPtrCairo.
3194         * platform/graphics/cairo/CairoUtilities.cpp: Ditto.
3195         (WebCore::drawPatternToCairoContext): Ditto.
3196         * platform/graphics/cairo/FontCacheFreeType.cpp: Ditto.
3197         (WebCore::FontCache::getFontDataForCharacters): Ditto.
3198         (WebCore::FontCache::createFontPlatformData): Ditto.
3199         * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Ditto.
3200         (WebCore::FontPlatformData::FontPlatformData): Ditto.
3201         (WebCore::FontPlatformData::initializeWithFontFace): Ditto.
3202         * platform/graphics/cairo/FontPlatformDataFreeType.h: Ditto.
3203         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
3204         * platform/graphics/cairo/ImageCairo.cpp: Ditto.
3205         * platform/graphics/cairo/RefPtrCairo.cpp: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp.
3206         (WTF::refIfNotNull): Added.
3207         (WTF::derefIfNotNull): Added.
3208         * platform/graphics/cairo/RefPtrCairo.h: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.h.
3209         * platform/gtk/CursorGtk.cpp: Replace PlatformRefPtrCairo with
3210         RefPtrCairo.
3211         (WebCore::createNamedCursor): Ditto.
3212         * platform/gtk/DragImageGtk.cpp: Ditto.
3213         (WebCore::scaleDragImage): Ditto.
3214         (WebCore::dissolveDragImageToFraction): Ditto.
3215         * plugins/gtk/PluginViewGtk.cpp: Ditto.
3216         (WebCore::PluginView::paint): Ditto.
3217
3218 2010-11-02  Chris Rogers  <crogers@google.com>
3219
3220         Reviewed by Kenneth Russell.
3221
3222         Simple followup changes to files affected by AudioNodeInput thread safety
3223         https://bugs.webkit.org/show_bug.cgi?id=48661
3224
3225         No new tests since audio API is not yet implemented.
3226
3227         * webaudio/AudioBasicProcessorNode.cpp:
3228         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
3229         * webaudio/AudioChannelSplitter.cpp:
3230         (WebCore::AudioChannelSplitter::process):
3231         * webaudio/AudioDestinationNode.cpp:
3232         (WebCore::AudioDestinationNode::initialize):
3233         (WebCore::AudioDestinationNode::uninitialize):
3234         (WebCore::AudioDestinationNode::provideInput):
3235         * webaudio/AudioGainNode.cpp:
3236         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
3237         * webaudio/AudioPannerNode.cpp:
3238         (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
3239
3240 2010-11-02  Chris Guillory  <chris.guillory@google.com>
3241
3242         Reviewed by Chris Fleizach.
3243
3244         Chromium: Propagate a document value changed notification on scroll.
3245         https://bugs.webkit.org/show_bug.cgi?id=48817
3246
3247         * accessibility/AccessibilityObject.h:
3248         (WebCore::AccessibilityObject::isAccessibilityScrollbar):
3249         * accessibility/AccessibilityScrollbar.h:
3250         (WebCore::AccessibilityScrollbar::scrollbar):
3251         (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
3252         * accessibility/chromium/AXObjectCacheChromium.cpp:
3253         (WebCore::AXObjectCache::postPlatformNotification):
3254
3255 2010-11-02  Chris Rogers  <crogers@google.com>
3256
3257         Reviewed by Kenneth Russell.
3258
3259         Add ConvolverNode files
3260         https://bugs.webkit.org/show_bug.cgi?id=47941
3261
3262         No new tests since audio API is not yet implemented.
3263
3264         * webaudio/ConvolverNode.cpp: Added.
3265         (WebCore::ConvolverNode::ConvolverNode):
3266         (WebCore::ConvolverNode::~ConvolverNode):
3267         (WebCore::ConvolverNode::process):
3268         (WebCore::ConvolverNode::reset):
3269         (WebCore::ConvolverNode::initialize):
3270         (WebCore::ConvolverNode::uninitialize):
3271         (WebCore::ConvolverNode::setBuffer):
3272         (WebCore::ConvolverNode::buffer):
3273         * webaudio/ConvolverNode.h: Added.
3274         (WebCore::ConvolverNode::create):
3275         * webaudio/ConvolverNode.idl: Added.
3276
3277 2010-11-02  Chris Rogers  <crogers@google.com>
3278
3279         Reviewed by Kenneth Russell.
3280
3281         Add RealtimeAnalyser files
3282         https://bugs.webkit.org/show_bug.cgi?id=48810
3283
3284         No new tests since audio API is not yet implemented.
3285
3286         * webaudio/RealtimeAnalyser.cpp: Added.
3287         (WebCore::RealtimeAnalyser::RealtimeAnalyser):
3288         (WebCore::RealtimeAnalyser::~RealtimeAnalyser):
3289         (WebCore::RealtimeAnalyser::reset):
3290         (WebCore::RealtimeAnalyser::setFftSize):
3291         (WebCore::RealtimeAnalyser::writeInput):
3292         (WebCore::RealtimeAnalyser::doFFTAnalysis):
3293         (WebCore::RealtimeAnalyser::getFloatFrequencyData):
3294         (WebCore::RealtimeAnalyser::getByteFrequencyData):
3295         (WebCore::RealtimeAnalyser::getByteTimeDomainData):
3296         * webaudio/RealtimeAnalyser.h: Added.
3297         (WebCore::RealtimeAnalyser::fftSize):
3298         (WebCore::RealtimeAnalyser::frequencyBinCount):
3299         (WebCore::RealtimeAnalyser::setMinDecibels):
3300         (WebCore::RealtimeAnalyser::minDecibels):
3301         (WebCore::RealtimeAnalyser::setMaxDecibels):
3302         (WebCore::RealtimeAnalyser::maxDecibels):
3303         (WebCore::RealtimeAnalyser::setSmoothingTimeConstant):
3304         (WebCore::RealtimeAnalyser::smoothingTimeConstant):
3305         (WebCore::RealtimeAnalyser::magnitudeBuffer):
3306
3307 2010-11-02  Ilya Sherman  <isherman@chromium.org>
3308
3309         Reviewed by Kent Tamura.
3310
3311         Avoid overlapping label text in autofill popup with icon.
3312         Updates the menu width computation to take the icon width into account.
3313         https://bugs.webkit.org/show_bug.cgi?id=48497
3314
3315         * platform/chromium/PopupMenuChromium.cpp:
3316         (WebCore::PopupListBox::paintRow):
3317         (WebCore::PopupListBox::layout):
3318
3319 2010-10-28  Zhenyao Mo  <zmo@google.com>
3320
3321         Reviewed by Kenneth Russell.
3322
3323         Perform framebuffer attachment checking upon draw call rather than attachment
3324         https://bugs.webkit.org/show_bug.cgi?id=46318
3325
3326         * html/canvas/WebGLFramebuffer.cpp:
3327         (WebCore::getInternalFormat): Helper function to get an attachment's internal format.
3328         (WebCore::isUninitialized): Helper function to decide if an attachment is initialized or not.
3329         (WebCore::setInitialized): Helper funtion to set an attachment as being initialized.
3330         (WebCore::WebGLFramebuffer::setAttachment): No longer perform buffer initialization at this point.
3331         (WebCore::WebGLFramebuffer::removeAttachment): Ditto.
3332         (WebCore::WebGLFramebuffer::getColorBufferFormat): Make it const.
3333         (WebCore::WebGLFramebuffer::isIncomplete): Attachments conflict check.
3334         (WebCore::WebGLFramebuffer::onAccess): Check atatchment conflicts and buffer initialization if necessary.
3335         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Return a boolean whether the framebuffer is complete or not.
3336         * html/canvas/WebGLFramebuffer.h: Add new function declaration and remove some outdated functions.
3337         (WebCore::WebGLFramebuffer::isColorAttached):
3338         (WebCore::WebGLFramebuffer::isDepthAttached): Make this private.
3339         (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
3340         (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
3341         * html/canvas/WebGLRenderbuffer.h:
3342         (WebCore::WebGLRenderbuffer::setInternalFormat): Also set the renderbuffer as uninitialized.
3343         * html/canvas/WebGLRenderingContext.cpp:
3344         (WebCore::WebGLRenderingContext::bindFramebuffer): No longer perform framebuffer initialization at this point.
3345         (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check WebGL specific attachment conflicts.
3346         (WebCore::WebGLRenderingContext::clear): Call WebGLFramebuffer::onAccess.
3347         (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
3348         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
3349         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
3350         (WebCore::WebGLRenderingContext::drawElements): Ditto.
3351         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): No longer perform framebuffer initialization at this point.
3352         (WebCore::WebGLRenderingContext::readPixels): Call WebGLFramebuffer::onAccess.
3353         (WebCore::WebGLRenderingContext::renderbufferStorage): No longer perform framebuffer initialization at this point.
3354         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
3355
3356 2010-11-01  Zhenyao Mo  <zmo@google.com>
3357
3358         Reviewed by Kenneth Russell.
3359
3360         blendFunc should generate INVALID_OPERATION if constant color and constant alpha are together as source and destination factors
3361         https://bugs.webkit.org/show_bug.cgi?id=48674
3362
3363         Test: fast/canvas/webgl/webgl-specific.html
3364
3365         * html/canvas/WebGLRenderingContext.cpp:
3366         (WebCore::WebGLRenderingContext::blendFunc):
3367         (WebCore::WebGLRenderingContext::blendFuncSeparate):
3368         * html/canvas/WebGLRenderingContext.h:
3369         (WebCore::WebGLRenderingContext::validateBlendFuncFactors): Helper function to do the checking.
3370
3371 2010-11-02  Simon Fraser  <simon.fraser@apple.com>
3372
3373         Reviewed by Dan Bernstein.
3374
3375         Overlapped nested iframes show smearing when scrolled
3376         https://bugs.webkit.org/show_bug.cgi?id=48873
3377
3378         A FrameView goes into slow scrolling mode (not blitting) when told that it is
3379         overlapped. However, a nested iframe could still try to use fast scrolling
3380         when its parent is overlapped, which could result in bad rendering.
3381         
3382         Fixed by making useSlowRepaints() and useSlowRepaintsIfNotOverlapped()
3383         walk up their parent chain, asking if their parents also use slow
3384         repaints.
3385         
3386         All the places that call setCanBlitOnScroll() now call
3387         updateCanBlitOnScrollRecursively() to ensure that the canBlitOnScroll
3388         flag is updated correctly on subframes.
3389         
3390         Repaint tests do not work on nested iframes, so added manual test.
3391
3392         * manual-tests/frames/nested-iframe-blit-on-scroll.html: Added.
3393         * manual-tests/frames/resources/blit-on-scroll-subframe.html: Added.
3394         * manual-tests/frames/resources/blit-on-scroll-subsubframe.html: Added.
3395         * page/FrameView.cpp:
3396         (WebCore::FrameView::layout):
3397         (WebCore::FrameView::useSlowRepaints):
3398         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
3399         (WebCore::FrameView::updateCanBlitOnScrollRecursively):
3400         (WebCore::FrameView::setUseSlowRepaints):
3401         (WebCore::FrameView::addSlowRepaintObject):
3402         (WebCore::FrameView::removeSlowRepaintObject):
3403         (WebCore::FrameView::addFixedObject):
3404         (WebCore::FrameView::removeFixedObject):
3405         (WebCore::FrameView::setIsOverlapped):
3406         (WebCore::FrameView::setContentIsOpaque):
3407         * page/FrameView.h:
3408
3409 2010-11-02  Simon Fraser  <simon.fraser@apple.com>
3410
3411         Reviewed by Dan Bernstein.
3412
3413         Iframes nested inside a compositing layer don't repaint correctly
3414         https://bugs.webkit.org/show_bug.cgi?id=48880
3415         <rdar://problem/8194698>
3416         
3417         The isEnclosedInCompositingLayer() is used to modify the behavior of
3418         -[WebClipView visibleRect:] in WebKit, so that scrolling-related repaints
3419         are correct in composited iframes. Previously it only asked whether the
3420         frame's renderer was in a compositing layer, but we actually need to
3421         consult all ancestors.
3422         
3423         Test: compositing/iframes/nested-iframe-scrolling.html
3424
3425         * page/FrameView.cpp:
3426         (WebCore::FrameView::isEnclosedInCompositingLayer):
3427
3428 2010-11-02  David Hyatt  <hyatt@apple.com>
3429
3430         Reviewed by Dan Bernstein.
3431
3432         https://bugs.webkit.org/show_bug.cgi?id=48672
3433         
3434         Make vertical glyph offset hit testing work with inline boxes.  This allows selection to paint
3435         properly for vertical text (although gap-filling is still broken).
3436         
3437         Refactored and cleaned up the writing mode flipping functions, and also did some cleanup to
3438         better share code between hit testing and painting.
3439
3440         * rendering/InlineBox.cpp:
3441         (WebCore::InlineBox::locationIncludingFlipping):
3442         (WebCore::InlineBox::flipForWritingMode):
3443         * rendering/InlineBox.h:
3444         * rendering/InlineFlowBox.cpp:
3445         (WebCore::InlineFlowBox::nodeAtPoint):
3446         (WebCore::InlineFlowBox::paint):
3447         (WebCore::InlineFlowBox::paintBoxDecorations):
3448         (WebCore::InlineFlowBox::paintMask):
3449         * rendering/InlineTextBox.cpp:
3450         (WebCore::InlineTextBox::selectionRect):
3451         (WebCore::InlineTextBox::nodeAtPoint):
3452         (WebCore::InlineTextBox::paint):
3453         (WebCore::InlineTextBox::textPos):
3454         (WebCore::InlineTextBox::offsetForPosition):
3455         (WebCore::InlineTextBox::positionForOffset):
3456         * rendering/RenderBlock.cpp:
3457         (WebCore::RenderBlock::paintChildren):
3458         (WebCore::RenderBlock::paintFloats):
3459         (WebCore::RenderBlock::hitTestFloats):
3460         (WebCore::RenderBlock::hitTestContents):
3461         * rendering/RenderBox.cpp:
3462         (WebCore::RenderBox::computeRectForRepaint):
3463         (WebCore::RenderBox::flipForWritingMode):
3464         (WebCore::RenderBox::locationOffsetIncludingFlipping):
3465         * rendering/RenderBox.h:
3466         * rendering/RenderInline.cpp:
3467         (WebCore::RenderInline::clippedOverflowRectForRepaint):
3468         * rendering/RenderLineBoxList.cpp:
3469         (WebCore::RenderLineBoxList::rangeIntersectsRect):
3470         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
3471         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
3472         (WebCore::RenderLineBoxList::paint):
3473         (WebCore::RenderLineBoxList::hitTest):
3474         * rendering/RenderLineBoxList.h:
3475         * rendering/RenderText.cpp:
3476         (WebCore::RenderText::positionForPoint):
3477
3478 2010-11-02  Adam Barth  <abarth@webkit.org>
3479
3480         Reviewed by Eric Seidel.
3481
3482         JPEG decoders should understand color profiles
3483         https://bugs.webkit.org/show_bug.cgi?id=48819
3484
3485         This patch is currently a no-op because no one defines USE(ICCJPEG).
3486         We'll enable this for Chromium Mac once we have ICCJPEG landed in
3487         Chromium's third_party directory.
3488
3489         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3490         (WebCore::readColorProfile):
3491         (WebCore::JPEGImageReader::JPEGImageReader):
3492         (WebCore::JPEGImageReader::decode):
3493         (WebCore::JPEGImageDecoder::outputScanlines):
3494         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
3495         (WebCore::JPEGImageDecoder::setColorProfile):
3496
3497 2010-11-02  Mihai Parparita  <mihaip@chromium.org>
3498
3499         Reviewed by Adam Barth.
3500
3501         [Chromium] Crash when encountering history.back() call during Page::goToItem execution
3502         https://bugs.webkit.org/show_bug.cgi?id=48477
3503         
3504         For the Chromium port, BackForwardList::itemAtIndex synthesizes a 
3505         HistoryItem and saves a pointer to it in m_pendingItem. During 
3506         Page::goToItem we call FrameLoader::stopAllLoaders, which can trigger
3507         onload handlers (if a subframe was not considered committed by the frame
3508         loader). If one of those handlers calls calls history.back() or another
3509         operation that ends up in NavigationScheduler::scheduleHistoryNavigation,
3510         we would call BackForwardList::itemAtIndex, which means that we would 
3511         lose the m_pendingItem RefPtr that pointed to the item being navigated 
3512         to, causing its ref count to go to 0*, and thus for the HistoryItem to
3513         be deleted before we were done navigating to it.
3514         
3515         This is fixed in two ways:
3516         - Add a protector RefPtr in Page::goToItem to make sure that the item is
3517           still around for when we pass it to HistoryController:goToItem.
3518         - Change NavigationScheduler::scheduleHistoryNavigation to not use
3519           BackForwardList::itemAtIndex