e1e0c7b1b3c7d3109c4ed734e6001bd7058fd8e0
[WebKit-https.git] / WebCore / ChangeLog
1 2010-10-21  Kwang Yul Seo  <skyul@company100.net>
2
3         Reviewed by James Robinson.
4
5         Make sure skia is not Chromium specific
6         https://bugs.webkit.org/show_bug.cgi?id=39672
7
8         GlyphPageTreeNodeLinux does not depend on Linux or Chromium.
9         Move GlyphPageTreeNodeLinux to platform/graphics/skia and rename it to
10         GlyphPageTreeNodeSkia.cpp so that other ports can use it.
11
12         * WebCore.gyp/WebCore.gyp:
13         * WebCore.gypi:
14         * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Removed.
15         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added.
16
17 2010-10-21  Ryosuke Niwa  <rniwa@webkit.org>
18
19         Reviewed by Tony Chang.
20
21         removeFormat needs to be reimplemented
22         https://bugs.webkit.org/show_bug.cgi?id=43017
23
24         Reimplemented execCommand('RemoveFormat', false, null). New implementation removes
25         the same elements removed by Internet Explorer. Because WebKit supports StyleWithCSS
26         we also reset any editing styles to match that of the root editable element
27         while Internet Explorer does not remove any CSS styles.
28
29         New implementation uses ApplyStyleCommand to remove appropriate elements and reset the style.
30         Added new constructor and member variable to ApplyStyleCommand to support mass-removal of elements
31         since it's inefficient to call ApplyStyleCommand on each element we're removing.
32
33         To avoid an infinite loop in pushDownInlineStyleAroundNode when mass-removing, WebKit no longer
34         push down element one level at a time. Instead, we keep a stack of styled elements to be applied,
35         and apply wrap siblings of targetNode's ancestors by all of them at once.
36
37         Tests: editing/execCommand/remove-format-elements.html
38                editing/execCommand/remove-format-multiple-elements.html
39
40         * editing/ApplyStyleCommand.cpp:
41         (WebCore::ApplyStyleCommand::ApplyStyleCommand): Added; this version takes style and a function pointer
42         to a boolean function that determines which element needs to removed, and set m_removeOnly to true.
43         (WebCore::ApplyStyleCommand::doApply): Added support for m_isInlineElementToRemoveFunction.
44         (WebCore::ApplyStyleCommand::applyBlockStyle): Ditto.
45         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Exits early if m_removeOnly is true.
46         (WebCore::ApplyStyleCommand::isStyledInlineElementToRemove): Added.
47         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls isStyledInlineElementToRemove.
48         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Ditto.
49         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
50         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): See above.
51         * editing/ApplyStyleCommand.h:
52         (WebCore::ApplyStyleCommand::create): Added.
53         * editing/RemoveFormatCommand.cpp:
54         (WebCore::isElementForRemoveFormatCommand): Added.
55         (WebCore::RemoveFormatCommand::doApply): Rewritten.
56
57 2010-10-21  Tony Gentilcore  <tonyg@chromium.org>
58
59         Reviewed by Adam Barth.
60
61         Ignore document.write() when it comes from a network task
62         https://bugs.webkit.org/show_bug.cgi?id=47560
63
64         This implements the update to the spec made by:
65         http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767
66
67         It also matches the latest Firefox 4 beta. The notable change is that
68         document.write from a deferred script no longer works. This avoids
69         blowing the patch away.
70
71         * dom/Document.cpp:
72         (WebCore::Document::Document):
73         (WebCore::Document::write):
74         * dom/Document.h:
75         (WebCore::DestructiveWriteCountIncrementer::DestructiveWriteCountIncrementer):
76         (WebCore::Document::ignoreDestructiveWriteCountIncrementer):
77         * dom/ScriptElement.cpp:
78         (WebCore::ScriptElement::insertedIntoDocument):
79         (WebCore::ScriptElementData::ScriptElementData):
80         (WebCore::ScriptElementData::evaluateScript):
81         * dom/ScriptElement.h:
82         * html/parser/HTMLScriptRunner.cpp:
83         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
84
85 2010-10-21  Ryosuke Niwa  <rniwa@webkit.org>
86
87         Unreviewed Leopard build fix attempt.
88
89         Explicitly cast the return value of deg2rad to float.
90
91         * rendering/InlineTextBox.cpp:
92         (WebCore::InlineTextBox::paint):
93
94 2010-10-21  Mihai Parparita  <mihaip@chromium.org>
95
96         Reviewed by James Robinson.
97
98         [Chromium] Fix Chromium Mac build
99         https://bugs.webkit.org/show_bug.cgi?id=48096
100
101         Fix Chromium Mac build after r70225 (Chromium uses Core Text but is not
102         PLATFORM(MAC)).
103
104         * platform/graphics/SimpleFontData.h:
105
106 2010-10-21  Xiaomei Ji  <xji@chromium.org>
107
108         Reviewed by David Levin.
109
110         Performance improvement for FontLinux.
111         https://bugs.webkit.org/show_bug.cgi?id=47019
112         
113         Reduce the number of calls for the normalization function because converting
114         to NFC form is very expensive.
115     
116         Combine space normalization and character mirroring into one text scan.
117
118         Test: platform/chromium/fast/text/font-linux-normalize.html
119
120         * platform/graphics/chromium/FontLinux.cpp:
121         (WebCore::TextRunWalker::TextRunWalker):
122         (WebCore::TextRunWalker::~TextRunWalker):
123         (WebCore::TextRunWalker::getNormalizedTextRun):
124         (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars):
125
126 2010-10-21  David Hyatt  <hyatt@apple.com>
127
128         Reviewed by Darin Adler.
129
130         https://bugs.webkit.org/show_bug.cgi?id=48085
131
132         Make basic vertical text painting work.  This includes the text itself, underlines, overlines, line-throughs and shadows.
133
134         Added fast/blockflow/english-lr-text.html
135
136         * rendering/InlineFlowBox.cpp:
137         (WebCore::InlineFlowBox::paint):
138         * rendering/InlineFlowBox.h:
139         * rendering/InlineTextBox.cpp:
140         (WebCore::InlineTextBox::applyShadowToGraphicsContext):
141         (WebCore::paintTextWithShadows):
142         (WebCore::InlineTextBox::paint):
143         (WebCore::InlineTextBox::paintDecoration):
144         (WebCore::InlineTextBox::paintTextMatchMarker):
145         * rendering/InlineTextBox.h:
146         * rendering/svg/SVGInlineTextBox.cpp:
147         (WebCore::SVGInlineTextBox::paintTextWithShadows):
148
149 2010-10-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
150
151         Reviewed by Simon Hausmann.
152
153         [Qt] When doing rendering through tiling, it seems the tiles are not initialized before rendering
154         https://bugs.webkit.org/show_bug.cgi?id=48070
155
156         No new tests. Auto-tests for Tiled Backing Store should be added, see bug 48082
157
158         * page/Frame.cpp:
159         (WebCore::Frame::tiledBackingStoreBackgroundColor):
160         * page/Frame.h:
161         * platform/graphics/TiledBackingStoreClient.h:
162         * platform/graphics/qt/TileQt.cpp:
163         (WebCore::Tile::updateBackBuffer):
164
165 2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
166
167         Reviewed by Martin Robinson.
168
169         [GTK] Use GCharsetConverter instead of g_iconv in TextCodecGtk
170         https://bugs.webkit.org/show_bug.cgi?id=47896
171
172         It makes error handling easier. Fixes tests:
173          fast/encoding/invalid-multi-byte-over-consumption.html
174          fast/encoding/invalid-xml.html
175          fast/encoding/japanese-encoding-mix.html
176         when building with glib unicode
177
178         * platform/text/gtk/TextCodecGtk.cpp:
179         (WebCore::TextCodecGtk::TextCodecGtk):
180         (WebCore::TextCodecGtk::~TextCodecGtk):
181         (WebCore::TextCodecGtk::createIConvDecoder):
182         (WebCore::TextCodecGtk::createIConvEncoder):
183         (WebCore::TextCodecGtk::decode):
184         (WebCore::TextCodecGtk::encode):
185         * platform/text/gtk/TextCodecGtk.h:
186
187 2010-10-21  Chris Fleizach  <cfleizach@apple.com>
188
189         Reviewed by Beth Dakin.
190
191         AX: contenteditable nodes do not return correct AXSelectedText* attributes
192         https://bugs.webkit.org/show_bug.cgi?id=48080
193
194         The ariaSelectedDOMTextRange() method was not returning the correct values. 
195         The fix is to return a plain text range that represents the current selection.
196
197         Test: platform/mac/accessibility/content-editable-range-properties.html
198
199         * accessibility/AccessibilityObject.h:
200         (WebCore::AccessibilityObject::accessibilityDescription):
201         * accessibility/AccessibilityRenderObject.cpp:
202         (WebCore::AccessibilityRenderObject::ariaSelectedTextRange):
203         (WebCore::AccessibilityRenderObject::selectedText):
204         (WebCore::AccessibilityRenderObject::selectedTextRange):
205         * accessibility/AccessibilityRenderObject.h:
206
207 2010-10-20  Jer Noble  <jer.noble@apple.com>
208
209         Reviewed by Eric Carlson.
210
211         Video -> Canvas doesn't work on Windows
212         https://bugs.webkit.org/show_bug.cgi?id=47996
213         rdar://problem/7884690
214
215         * WebCore.vcproj/QTMovieWin.vcproj: Added QTDecompressionSession.{cpp,h}
216         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
217         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Create a 
218             QTDecompressionSession if necessary and convert the QTPixelBuffer
219             into a CG-compatible one.
220         * platform/graphics/win/QTDecompressionSession.cpp: Added.
221         * platform/graphics/win/QTDecompressionSession.h: Added.
222         * platform/graphics/win/QTPixelBuffer.cpp:
223         (SetNumberValue): Moved from QTMovieVisualContext.
224         (QTPixelBuffer::createPixelBufferAttributesDictionary): Moved from inside
225             QTMovieVisualContext::createPixelBufferOptionsDictionary().
226         * platform/graphics/win/QTPixelBuffer.h: Moved the Type enum 
227             from QTMovieVisualContext.h.
228
229 2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
230
231         Reviewed by Martin Robinson.
232
233         [GTK] TextBreakIteratorGtk should initialize its internal index to 0
234         https://bugs.webkit.org/show_bug.cgi?id=48065
235
236         It fixes the following tests when using glib unicode:
237           fast/forms/ValidityState-tooLong-input.html
238           fast/forms/ValidityState-tooLong-textarea.html
239           fast/forms/input-appearance-maxlength.html
240           fast/forms/input-implicit-length-limit.html
241           fast/forms/input-maxlength.html
242           fast/forms/textarea-live-pseudo-selectors.html
243           fast/forms/mailto/advanced-get.html
244           fast/forms/mailto/advanced-put.html
245
246         * platform/text/gtk/TextBreakIteratorGtk.cpp:
247         (WebCore::setUpIterator):
248
249 2010-10-21  takano takumi  <takano1@asia.apple.com>
250
251         Reviewed by Dan Bernstein.
252
253         Need to swap glyphs for vertical writing
254         https://bugs.webkit.org/show_bug.cgi?id=46973
255
256         Made changes to pass the writing-mode orientation flag in RenderStyle down to FontPlatformData,
257         and ultimately to CoreText APIs in both font complex path and fast path.
258
259         Tests: fast/text/international/vertical-text-glyph-test.html
260                fast/text/international/vertical-text-metrics-test.html
261
262         * WebCore.exp.in:
263         * WebCore.xcodeproj/project.pbxproj: Added platform/graphics/FontOrientation.h.
264         * css/CSSFontFaceSource.cpp:
265         (WebCore::CSSFontFaceSource::getFontData): Added font orientation parameter to SimpleFontData.
266         * css/CSSStyleSelector.cpp:
267         (WebCore::CSSStyleSelector::applyProperty): Set appropriate font orientation to the font description
268         when writing-mode is being specified.
269         * loader/CachedFont.cpp:
270         (WebCore::CachedFont::platformDataFromCustomData): Made to pass font orientation to FontPlatformData.
271         * loader/CachedFont.h:
272         * platform/graphics/FontCache.cpp: Added font orientation to FontPlatformDataCacheKey
273         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
274         (WebCore::FontPlatformDataCacheKey::operator==):
275         (WebCore::computeHash):
276         (WebCore::FontCache::getCachedFontPlatformData):
277         * platform/graphics/FontDescription.h: Added font orientation support to FontDescription class
278         (WebCore::FontDescription::FontDescription):
279         (WebCore::FontDescription::orientation):
280         (WebCore::FontDescription::setOrientation):
281         (WebCore::FontDescription::operator==):
282         * platform/graphics/FontOrientation.h: Added.
283         * platform/graphics/SimpleFontData.h:
284         * platform/graphics/cairo/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
285         (WebCore::FontCustomPlatformData::fontPlatformData):
286         * platform/graphics/cairo/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
287         * platform/graphics/cocoa/FontPlatformData.h: Added font orientation support to FontPlatformData class
288         (WebCore::FontPlatformData::FontPlatformData):
289         (WebCore::FontPlatformData::orientation):
290         (WebCore::FontPlatformData::hash):
291         (WebCore::FontPlatformData::operator==):
292         * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Added font orientation support
293         (WebCore::FontPlatformData::FontPlatformData):
294         (WebCore::FontPlatformData::operator=):
295         (WebCore::FontPlatformData::allowsLigatures): Don't allow ligatures when the font is vertical orientation.
296         (WebCore::FontPlatformData::description):
297         * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Changed to pass font orientation to fontPlatformData()
298         (WebCore::FontCustomPlatformData::fontPlatformData):
299         * platform/graphics/haiku/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
300         (WebCore::FontCustomPlatformData::fontPlatformData):
301         * platform/graphics/haiku/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
302         * platform/graphics/mac/FontCacheMac.mm: Added font orientation parameter when creating FontPlatformData object.
303         (WebCore::FontCache::getFontDataForCharacters):
304         (WebCore::FontCache::createFontPlatformData):
305         * platform/graphics/mac/FontCustomPlatformData.cpp: Added font orientation parameter when creating FontPlatformData object.
306         (WebCore::FontCustomPlatformData::fontPlatformData):
307         * platform/graphics/mac/FontCustomPlatformData.h: Changed to pass font orientation parameter to fontPlatformData()
308         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
309         (WebCore::GlyphPage::fill): Changed to use CoreText to extract glyphs when the current font is vertical orientation.
310         CoreText automatically swaps glyphs with vertical variants when the font orientation is vertical.
311         * platform/graphics/mac/SimpleFontDataCoreText.cpp: Added vertical form attribute to the attribute dictionary for a CTLine.
312         (WebCore::SimpleFontData::getCFStringAttributes):
313         * platform/graphics/mac/SimpleFontDataMac.mm:
314         (WebCore::SimpleFontData::platformBoundsForGlyph): Changed to use CoreText (from CG) to support vertical metrics.
315         (WebCore::SimpleFontData::platformWidthForGlyph): Made to use CoreText, instead of wkGetGlyphTransformedAdvances,
316         to get vertical metrics when the font orientation is vertical.
317         * platform/graphics/qt/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
318         * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Changed to pass font orientation to fontPlatformData()
319         (WebCore::FontCustomPlatformData::fontPlatformData):
320         * platform/graphics/skia/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
321         (WebCore::FontCustomPlatformData::fontPlatformData):
322         * platform/graphics/skia/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
323         * platform/graphics/win/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
324         (WebCore::FontCustomPlatformData::fontPlatformData):
325         * platform/graphics/win/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
326         * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Changed to pass font orientation to fontPlatformData()
327         (WebCore::FontCustomPlatformData::fontPlatformData):
328         * platform/graphics/win/FontCustomPlatformDataCairo.h: Changed to pass font orientation to fontPlatformData()
329         * platform/graphics/wince/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
330         (WebCore::FontCustomPlatformData::fontPlatformData):
331         * platform/graphics/wince/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
332         * platform/graphics/wx/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
333         (WebCore::FontCustomPlatformData::fontPlatformData):
334         * platform/graphics/wx/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
335
336 2010-10-21  Pavel Feldman  <pfeldman@chromium.org>
337
338         Reviewed by Yury Semikhatsky.
339
340         Web Inspector: provide resource tree in the Storage panel (behind the flag).
341         https://bugs.webkit.org/show_bug.cgi?id=48069
342
343         * WebCore.gypi:
344         * inspector/Inspector.idl:
345         * inspector/InspectorController.cpp:
346         (WebCore::InspectorController::frameDetachedFromParent):
347         * inspector/InspectorResourceAgent.cpp:
348         (WebCore::buildObjectForDocumentLoader):
349         (WebCore::buildObjectForFrameResource):
350         (WebCore::buildObjectForCachedResource):
351         (WebCore::populateObjectWithFrameResources):
352         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
353         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
354         (WebCore::buildObjectForFrameTree):
355         (WebCore::InspectorResourceAgent::didCommitLoad):
356         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
357         (WebCore::InspectorResourceAgent::cachedResources):
358         (WebCore::InspectorResourceAgent::resourceContent):
359         * inspector/InspectorResourceAgent.h:
360         * inspector/front-end/Images/frame.png: Added.
361         * inspector/front-end/NetworkPanel.js:
362         (WebInspector.NetworkPanel.prototype.refreshResource):
363         (WebInspector.NetworkPanel.prototype._showResource):
364         * inspector/front-end/Resource.js:
365         (WebInspector.Resource.Type.toString):
366         (WebInspector.Resource.prototype.getContents):
367         * inspector/front-end/ResourceManager.js:
368         (WebInspector.ResourceManager):
369         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
370         (WebInspector.ResourceManager.prototype._createResource):
371         (WebInspector.ResourceManager.prototype.willSendRequest):
372         (WebInspector.ResourceManager.prototype._appendRedirect):
373         (WebInspector.ResourceManager.prototype.markResourceAsCached):
374         (WebInspector.ResourceManager.prototype.didReceiveResponse):
375         (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
376         (WebInspector.ResourceManager.prototype.didReceiveContentLength):
377         (WebInspector.ResourceManager.prototype.didFinishLoading):
378         (WebInspector.ResourceManager.prototype.didFailLoading):
379         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
380         (WebInspector.ResourceManager.prototype._updateResourceWithCachedResource):
381         (WebInspector.ResourceManager.prototype.setOverrideContent):
382         (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
383         (WebInspector.ResourceManager.prototype.frameDetachedFromParent):
384         (WebInspector.ResourceManager.prototype._clearResources):
385         (WebInspector.ResourceManager.prototype.didCreateWebSocket):
386         (WebInspector.ResourceManager.prototype.willSendWebSocketHandshakeRequest):
387         (WebInspector.ResourceManager.prototype.didReceiveWebSocketHandshakeResponse):
388         (WebInspector.ResourceManager.prototype.didCloseWebSocket):
389         (WebInspector.ResourceManager.prototype._processCachedResources):
390         (WebInspector.ResourceManager.prototype._appendFramesRecursively.comparator):
391         (WebInspector.ResourceManager.prototype._appendFramesRecursively):
392         (WebInspector.ResourceManager.createResourceView):
393         (WebInspector.ResourceManager.resourceViewTypeMatchesResource):
394         (WebInspector.ResourceManager.resourceViewForResource):
395         (WebInspector.ResourceManager.getContents):
396         * inspector/front-end/ResourcesPanel.js:
397         (WebInspector.ResourcesPanel.prototype.get searchableViews):
398         (WebInspector.ResourcesPanel.prototype.addMessageToResource):
399         (WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
400         (WebInspector.ResourcesPanel.prototype.showResource):
401         (WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
402         * inspector/front-end/ScriptsPanel.js:
403         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
404         * inspector/front-end/StoragePanel.js:
405         (WebInspector.StoragePanel):
406         (WebInspector.StoragePanel.prototype.addFrame):
407         (WebInspector.StoragePanel.prototype.removeFrame):
408         (WebInspector.StoragePanel.prototype.addFrameResource):
409         (WebInspector.StoragePanel.prototype.removeFrameResources):
410         (WebInspector.StoragePanel.prototype.showResource):
411         (WebInspector.BaseStorageTreeElement.prototype.onattach):
412         (WebInspector.BaseStorageTreeElement.prototype.onreveal):
413         (WebInspector.FrameTreeElement):
414         (WebInspector.FrameTreeElement.prototype.onselect):
415         (WebInspector.FrameResourceTreeElement):
416         (WebInspector.FrameResourceTreeElement.prototype.onselect):
417         (WebInspector.FrameResourceTreeElement.prototype.onattach):
418         * inspector/front-end/WebKit.qrc:
419         * inspector/front-end/inspector.css:
420         (.frame-storage-tree-item .icon):
421         (.storage.panel .sidebar.outline-disclosure > ol):
422         (.resources-category-images .image-resource-icon-preview):
423         (.children.small .resources-category-images .image-resource-icon-preview):
424         * inspector/front-end/inspector.js:
425
426 2010-10-21  David Kilzer  <ddkilzer@apple.com>
427
428         <http://webkit.org/b/48047> Fix warnings found by check-Xcode-source-file-types
429
430         Reviewed by Adam Roben.
431
432         Fixes the following warning:
433
434             WARNING: Unknown file type 'sourcecode' for file 'CSSPrimitiveValue.idl'.
435             1 issues found for WebCore/WebCore.xcodeproj/project.pbxproj.
436
437         * WebCore.xcodeproj/project.pbxproj: Removed explicit file type
438         for CSSPrimitiveValue.idl to make it match other IDL files.
439
440 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
441
442         Unreviewed. Revert r70232. Chromium compilation failure.
443
444 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
445
446         Unreviewed. Revert r70233. Too many failures.
447
448 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
449
450         Unreviewed. Remove references to deleted headers from WebCore.pro
451
452         * WebCore.pro:
453
454 2010-10-21  Yury Semikhatsky  <yurys@chromium.org>
455
456         Reviewed by Pavel Feldman.
457
458         Web Inspector: decouple ScriptArguments from ScriptCallStack
459         https://bugs.webkit.org/show_bug.cgi?id=48058
460
461         ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
462         The factory functions that allow to create ScriptCallStack from VM-specific
463         objects are defined in ScriptCallStackFactory.cpp.
464
465         ScriptArguments class is used for passing arguments from JS code to the native
466         part.
467
468         No new tests. This refactoring is covered with existing Console tests.
469
470         * WebCore.gypi:
471         * WebCore.xcodeproj/project.pbxproj:
472         * bindings/js/ScriptCallFrame.cpp: Removed.
473         * bindings/js/ScriptCallFrame.h: Removed.
474         * bindings/js/ScriptCallStack.cpp: Removed.
475         * bindings/js/ScriptCallStack.h: Removed.
476         * bindings/js/ScriptCallStackFactory.cpp: Added.
477         (WebCore::createScriptCallStack):
478         (WebCore::createScriptArguments):
479         (WebCore::ScriptCallStack::stackTrace):
480         * bindings/js/ScriptCallStackFactory.h: Added.
481         * bindings/js/ScriptState.h:
482         (WebCore::ScriptStateProtectedPtr::get):
483         * bindings/scripts/CodeGeneratorJS.pm:
484         * bindings/scripts/CodeGeneratorV8.pm:
485         * bindings/v8/ScriptCallFrame.cpp: Removed.
486         * bindings/v8/ScriptCallFrame.h: Removed.
487         * bindings/v8/ScriptCallStack.cpp: Removed.
488         * bindings/v8/ScriptCallStack.h: Removed.
489         * bindings/v8/ScriptCallStackFactory.cpp: Added.
490         (WebCore::toScriptCallFrame):
491         (WebCore::toScriptCallFramesVector):
492         (WebCore::createScriptCallStack):
493         (WebCore::createScriptArguments):
494         (WebCore::ScriptCallStack::stackTrace):
495         * bindings/v8/ScriptCallStackFactory.h: Added.
496         * bindings/v8/ScriptController.cpp:
497         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
498         * bindings/v8/ScriptState.h:
499         (WebCore::ScriptStateProtectedPtr::get):
500         * bindings/v8/V8ConsoleMessage.cpp:
501         (WebCore::V8ConsoleMessage::handler):
502         (WebCore::V8ConsoleMessage::dispatchNow):
503         * bindings/v8/V8ConsoleMessage.h:
504         * bindings/v8/custom/V8ConsoleCustom.cpp:
505         (WebCore::V8Console::traceCallback):
506         (WebCore::V8Console::assertCallback):
507         * inspector/ConsoleMessage.cpp:
508         (WebCore::ConsoleMessage::ConsoleMessage):
509         (WebCore::ConsoleMessage::addToFrontend):
510         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
511         (WebCore::ConsoleMessage::isEqual):
512         * inspector/ConsoleMessage.h:
513         * inspector/InspectorController.cpp:
514         (WebCore::InspectorController::addMessageToConsole):
515         (WebCore::InspectorController::startGroup):
516         * inspector/InspectorController.h:
517         * inspector/ScriptArguments.cpp: Added.
518         (WebCore::ScriptArguments::ScriptArguments):
519         (WebCore::ScriptArguments::~ScriptArguments):
520         (WebCore::ScriptArguments::argumentAt):
521         (WebCore::ScriptArguments::globalState):
522         (WebCore::ScriptArguments::getFirstArgumentAsString):
523         (WebCore::ScriptArguments::isEqual):
524         * inspector/ScriptArguments.h: Added.
525         (WebCore::ScriptArguments::argumentCount):
526         * inspector/ScriptCallFrame.cpp: Added.
527         (WebCore::ScriptCallFrame::ScriptCallFrame):
528         (WebCore::ScriptCallFrame::~ScriptCallFrame):
529         (WebCore::ScriptCallFrame::isEqual):
530         (WebCore::ScriptCallFrame::buildInspectorObject):
531         * inspector/ScriptCallFrame.h: Added.
532         (WebCore::ScriptCallFrame::functionName):
533         (WebCore::ScriptCallFrame::sourceURL):
534         (WebCore::ScriptCallFrame::lineNumber):
535         * inspector/ScriptCallStack.cpp: Added.
536         (WebCore::ScriptCallStack::ScriptCallStack):
537         (WebCore::ScriptCallStack::~ScriptCallStack):
538         (WebCore::ScriptCallStack::at):
539         (WebCore::ScriptCallStack::size):
540         (WebCore::ScriptCallStack::isEqual):
541         (WebCore::ScriptCallStack::buildInspectorObject):
542         * inspector/ScriptCallStack.h: Added.
543         * page/Console.cpp:
544         (WebCore::Console::addMessage):
545         (WebCore::Console::debug):
546         (WebCore::Console::error):
547         (WebCore::Console::info):
548         (WebCore::Console::log):
549         (WebCore::Console::dir):
550         (WebCore::Console::dirxml):
551         (WebCore::Console::trace):
552         (WebCore::Console::assertCondition):
553         (WebCore::Console::count):
554         (WebCore::Console::markTimeline):
555         (WebCore::Console::profile):
556         (WebCore::Console::profileEnd):
557         (WebCore::Console::timeEnd):
558         (WebCore::Console::group):
559         (WebCore::Console::groupCollapsed):
560         (WebCore::Console::shouldCaptureFullStackTrace):
561         (WebCore::Console::warn):
562         * page/Console.h:
563
564 2010-10-21  Pavel Feldman  <pfeldman@chromium.org>
565
566         Reviewed by Yury Semikhatsky.
567
568         Chromium: use dedicated event listener type in EventListenerWrapper.
569         https://bugs.webkit.org/show_bug.cgi?id=48059
570
571         This change introduces new EventListener::Type NativeEventListenerType.
572         This new type is intended to be used by any code that wants to protect
573         itself from unsafe casts to particular event listener implementations.
574
575         * dom/EventListener.h:
576
577 2010-10-21  Sheriff Bot  <webkit.review.bot@gmail.com>
578
579         Unreviewed, rolling out r70225.
580         http://trac.webkit.org/changeset/70225
581         https://bugs.webkit.org/show_bug.cgi?id=48061
582
583         Build breakage on Leopard. (Requested by pfeldman on #webkit).
584
585         * WebCore.exp.in:
586         * WebCore.xcodeproj/project.pbxproj:
587         * css/CSSFontFaceSource.cpp:
588         (WebCore::CSSFontFaceSource::getFontData):
589         * css/CSSStyleSelector.cpp:
590         (WebCore::CSSStyleSelector::applyProperty):
591         * loader/CachedFont.cpp:
592         (WebCore::CachedFont::platformDataFromCustomData):
593         * loader/CachedFont.h:
594         * platform/graphics/FontCache.cpp:
595         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
596         (WebCore::FontPlatformDataCacheKey::operator==):
597         (WebCore::computeHash):
598         (WebCore::FontCache::getCachedFontPlatformData):
599         * platform/graphics/FontDescription.h:
600         (WebCore::FontDescription::FontDescription):
601         (WebCore::FontDescription::operator==):
602         * platform/graphics/FontOrientation.h: Removed.
603         * platform/graphics/SimpleFontData.h:
604         * platform/graphics/cairo/FontCustomPlatformData.cpp:
605         (WebCore::FontCustomPlatformData::fontPlatformData):
606         * platform/graphics/cairo/FontCustomPlatformData.h:
607         * platform/graphics/cocoa/FontPlatformData.h:
608         (WebCore::FontPlatformData::FontPlatformData):
609         (WebCore::FontPlatformData::hash):
610         (WebCore::FontPlatformData::operator==):
611         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
612         (WebCore::FontPlatformData::FontPlatformData):
613         (WebCore::FontPlatformData::operator=):
614         (WebCore::FontPlatformData::allowsLigatures):
615         (WebCore::FontPlatformData::description):
616         * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
617         (WebCore::FontCustomPlatformData::fontPlatformData):
618         * platform/graphics/haiku/FontCustomPlatformData.cpp:
619         (WebCore::FontCustomPlatformData::fontPlatformData):
620         * platform/graphics/haiku/FontCustomPlatformData.h:
621         * platform/graphics/mac/FontCacheMac.mm:
622         (WebCore::FontCache::getFontDataForCharacters):
623         (WebCore::FontCache::createFontPlatformData):
624         * platform/graphics/mac/FontCustomPlatformData.cpp:
625         (WebCore::FontCustomPlatformData::fontPlatformData):
626         * platform/graphics/mac/FontCustomPlatformData.h:
627         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
628         (WebCore::GlyphPage::fill):
629         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
630         (WebCore::SimpleFontData::getCFStringAttributes):
631         * platform/graphics/mac/SimpleFontDataMac.mm:
632         (WebCore::SimpleFontData::platformBoundsForGlyph):
633         (WebCore::SimpleFontData::platformWidthForGlyph):
634         * platform/graphics/qt/FontCustomPlatformData.h:
635         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
636         (WebCore::FontCustomPlatformData::fontPlatformData):
637         * platform/graphics/skia/FontCustomPlatformData.cpp:
638         (WebCore::FontCustomPlatformData::fontPlatformData):
639         * platform/graphics/skia/FontCustomPlatformData.h:
640         * platform/graphics/win/FontCustomPlatformData.cpp:
641         (WebCore::FontCustomPlatformData::fontPlatformData):
642         * platform/graphics/win/FontCustomPlatformData.h:
643         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
644         (WebCore::FontCustomPlatformData::fontPlatformData):
645         * platform/graphics/win/FontCustomPlatformDataCairo.h:
646         * platform/graphics/wince/FontCustomPlatformData.cpp:
647         (WebCore::FontCustomPlatformData::fontPlatformData):
648         * platform/graphics/wince/FontCustomPlatformData.h:
649         * platform/graphics/wx/FontCustomPlatformData.cpp:
650         (WebCore::FontCustomPlatformData::fontPlatformData):
651         * platform/graphics/wx/FontCustomPlatformData.h:
652
653 2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
654
655         Reviewed by Martin Robinson.
656
657         [GTK] Tests LayoutTests/fast/encoding/utf-32* fail when using glib unicode
658         https://bugs.webkit.org/show_bug.cgi?id=47805
659
660         Register UTF-32 encodings in TextCodecGtk.
661
662         * platform/text/gtk/TextCodecGtk.cpp:
663         (WebCore::TextCodecGtk::registerBaseEncodingNames):
664         (WebCore::TextCodecGtk::registerBaseCodecs):
665
666 2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
667
668         Reviewed by Darin Adler.
669
670         Adding MediaQueryListListener binding test cases
671         https://bugs.webkit.org/show_bug.cgi?id=48028
672
673         MediaQueryListListener type will need special handling of the code generators. Adding the test cases.
674
675         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp: Added.
676         (WebDOMTestMediaQueryListListener::WebDOMTestMediaQueryListListenerPrivate::WebDOMTestMediaQueryListListenerPrivate):
677         (WebDOMTestMediaQueryListListener::WebDOMTestMediaQueryListListener):
678         (WebDOMTestMediaQueryListListener::operator=):
679         (WebDOMTestMediaQueryListListener::impl):
680         (WebDOMTestMediaQueryListListener::~WebDOMTestMediaQueryListListener):
681         (WebDOMTestMediaQueryListListener::method):
682         (toWebCore):
683         (toWebKit):
684         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.h: Added.
685         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: Added.
686         (WebKit::kit):
687         (webkit_dom_test_media_query_list_listener_method):
688         (WebKit::core):
689         (webkit_dom_test_media_query_list_listener_finalize):
690         (webkit_dom_test_media_query_list_listener_set_property):
691         (webkit_dom_test_media_query_list_listener_get_property):
692         (webkit_dom_test_media_query_list_listener_constructed):
693         (webkit_dom_test_media_query_list_listener_class_init):
694         (webkit_dom_test_media_query_list_listener_init):
695         (WebKit::wrapTestMediaQueryListListener):
696         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h: Added.
697         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h: Added.
698         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Added.
699         (WebCore::JSTestMediaQueryListListenerConstructor::classInfo):
700         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
701         (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
702         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
703         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
704         (WebCore::JSTestMediaQueryListListenerPrototype::self):
705         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
706         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
707         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
708         (WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
709         (WebCore::JSTestMediaQueryListListener::createPrototype):
710         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
711         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
712         (WebCore::jsTestMediaQueryListListenerConstructor):
713         (WebCore::JSTestMediaQueryListListener::getConstructor):
714         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
715         (WebCore::toJS):
716         (WebCore::toTestMediaQueryListListener):
717         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Added.
718         (WebCore::JSTestMediaQueryListListener::classInfo):
719         (WebCore::JSTestMediaQueryListListener::createStructure):
720         (WebCore::JSTestMediaQueryListListener::impl):
721         (WebCore::JSTestMediaQueryListListenerPrototype::classInfo):
722         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
723         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
724         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h: Added.
725         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: Added.
726         (-[DOMTestMediaQueryListListener dealloc]):
727         (-[DOMTestMediaQueryListListener finalize]):
728         (-[DOMTestMediaQueryListListener method:]):
729         (core):
730         (kit):
731         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h: Added.
732         * bindings/scripts/test/TestMediaQueryListListener.idl: Added.
733         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Added.
734         (WebCore::TestMediaQueryListListenerInternal::V8_USE):
735         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
736         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
737         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
738         (WebCore::V8TestMediaQueryListListener::GetTemplate):
739         (WebCore::V8TestMediaQueryListListener::HasInstance):
740         (WebCore::V8TestMediaQueryListListener::wrapSlow):
741         (WebCore::V8TestMediaQueryListListener::derefObject):
742         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Added.
743         (WebCore::V8TestMediaQueryListListener::toNative):
744         (WebCore::V8TestMediaQueryListListener::wrap):
745         (WebCore::toV8):
746
747 2010-10-21  takano takumi  <takano1@asia.apple.com>
748
749         Reviewed by Dan Bernstein.
750
751         Need to swap glyphs for vertical writing
752         https://bugs.webkit.org/show_bug.cgi?id=46973
753
754         Made changes to pass the writing-mode orientation flag in RenderStyle down to FontPlatformData,
755         and ultimately to CoreText APIs in both font complex path and fast path.
756
757         Tests: fast/text/international/vertical-text-glyph-test.html
758                fast/text/international/vertical-text-metrics-test.html
759
760         * WebCore.exp.in:
761         * WebCore.xcodeproj/project.pbxproj: Added platform/graphics/FontOrientation.h.
762         * css/CSSFontFaceSource.cpp:
763         (WebCore::CSSFontFaceSource::getFontData): Added font orientation parameter to SimpleFontData.
764         * css/CSSStyleSelector.cpp:
765         (WebCore::CSSStyleSelector::applyProperty): Set appropriate font orientation to the font description
766         when writing-mode is being specified.
767         * loader/CachedFont.cpp:
768         (WebCore::CachedFont::platformDataFromCustomData): Made to pass font orientation to FontPlatformData.
769         * loader/CachedFont.h:
770         * platform/graphics/FontCache.cpp: Added font orientation to FontPlatformDataCacheKey
771         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
772         (WebCore::FontPlatformDataCacheKey::operator==):
773         (WebCore::computeHash):
774         (WebCore::FontCache::getCachedFontPlatformData):
775         * platform/graphics/FontDescription.h: Added font orientation support to FontDescription class
776         (WebCore::FontDescription::FontDescription):
777         (WebCore::FontDescription::orientation):
778         (WebCore::FontDescription::setOrientation):
779         (WebCore::FontDescription::operator==):
780         * platform/graphics/FontOrientation.h: Added.
781         * platform/graphics/SimpleFontData.h:
782         * platform/graphics/cairo/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
783         (WebCore::FontCustomPlatformData::fontPlatformData):
784         * platform/graphics/cairo/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
785         * platform/graphics/cocoa/FontPlatformData.h: Added font orientation support to FontPlatformData class
786         (WebCore::FontPlatformData::FontPlatformData):
787         (WebCore::FontPlatformData::orientation):
788         (WebCore::FontPlatformData::hash):
789         (WebCore::FontPlatformData::operator==):
790         * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Added font orientation support
791         (WebCore::FontPlatformData::FontPlatformData):
792         (WebCore::FontPlatformData::operator=):
793         (WebCore::FontPlatformData::allowsLigatures): Don't allow ligatures when the font is vertical orientation.
794         (WebCore::FontPlatformData::description):
795         * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Changed to pass font orientation to fontPlatformData()
796         (WebCore::FontCustomPlatformData::fontPlatformData):
797         * platform/graphics/haiku/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
798         (WebCore::FontCustomPlatformData::fontPlatformData):
799         * platform/graphics/haiku/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
800         * platform/graphics/mac/FontCacheMac.mm: Added font orientation parameter when creating FontPlatformData object.
801         (WebCore::FontCache::getFontDataForCharacters):
802         (WebCore::FontCache::createFontPlatformData):
803         * platform/graphics/mac/FontCustomPlatformData.cpp: Added font orientation parameter when creating FontPlatformData object.
804         (WebCore::FontCustomPlatformData::fontPlatformData):
805         * platform/graphics/mac/FontCustomPlatformData.h: Changed to pass font orientation parameter to fontPlatformData()
806         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
807         (WebCore::GlyphPage::fill): Changed to use CoreText to extract glyphs when the current font is vertical orientation.
808         CoreText automatically swaps glyphs with vertical variants when the font orientation is vertical.
809         * platform/graphics/mac/SimpleFontDataCoreText.cpp: Added vertical form attribute to the attribute dictionary for a CTLine.
810         (WebCore::SimpleFontData::getCFStringAttributes):
811         * platform/graphics/mac/SimpleFontDataMac.mm:
812         (WebCore::SimpleFontData::platformBoundsForGlyph): Changed to use CoreText (from CG) to support vertical metrics.
813         (WebCore::SimpleFontData::platformWidthForGlyph): Made to use CoreText, instead of wkGetGlyphTransformedAdvances,
814         to get vertical metrics when the font orientation is vertical.
815         * platform/graphics/qt/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
816         * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Changed to pass font orientation to fontPlatformData()
817         (WebCore::FontCustomPlatformData::fontPlatformData):
818         * platform/graphics/skia/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
819         (WebCore::FontCustomPlatformData::fontPlatformData):
820         * platform/graphics/skia/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
821         * platform/graphics/win/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
822         (WebCore::FontCustomPlatformData::fontPlatformData):
823         * platform/graphics/win/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
824         * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Changed to pass font orientation to fontPlatformData()
825         (WebCore::FontCustomPlatformData::fontPlatformData):
826         * platform/graphics/win/FontCustomPlatformDataCairo.h: Changed to pass font orientation to fontPlatformData()
827         * platform/graphics/wince/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
828         (WebCore::FontCustomPlatformData::fontPlatformData):
829         * platform/graphics/wince/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
830         * platform/graphics/wx/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
831         (WebCore::FontCustomPlatformData::fontPlatformData):
832         * platform/graphics/wx/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
833
834 2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
835
836         Reviewed by Dirk Schulze.
837
838         Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings)
839         https://bugs.webkit.org/show_bug.cgi?id=47905
840
841         Tests: svg/dom/SVGLengthList-appendItem.xhtml
842                svg/dom/SVGLengthList-basics.xhtml
843                svg/dom/SVGLengthList-getItem.xhtml
844                svg/dom/SVGLengthList-initialize.xhtml
845                svg/dom/SVGLengthList-insertItemBefore.xhtml
846                svg/dom/SVGLengthList-removeItem.xhtml
847                svg/dom/SVGLengthList-replaceItem.xhtml
848                svg/dom/SVGLengthList-xml-dom-modifications.xhtml
849
850         Introduce a more lightweight, less intrusive way to expose SVGAnimated* DOM bindings.
851
852         Concrete example:
853         The SVG DOM defines a 'SVGAnimatedLength' object, that's used to represent the x / y / width / height attributes of a 'SVGRectElement'.
854         Each 'SVGAnimatedLength' object exposes a baseVal (markup defined attribute value) and an animVal (reflects the current state during animations),
855         both of type 'SVGLength'. These objects are all _live_. That means you can do:
856         var foobar = rect.x.baseVal; foobar.value += 150;
857
858         If we'd implement the SVG DOM straightforward, we'd have to store a refcounted SVGAnimatedLength object, containing two refcounted SVGLength objects
859         in SVGRectElement, for each of the x/y/width/height attributes. Our solution, to reduce memory footprint and increase performance is to store
860         SVGLength stack-allocated, non refcounted types in SVGRectElement for x/y/width/height, and don't implement the SVGAnimatedLength object at all.
861
862         In the past the JS bindings had to expose wrappers for SVGAnimatedLength on their own, and wrap each SVGLength object in an object called JSSVGPODTypeWrapper<SVGLength>.
863         When JS changed the 'value' of the 'SVGLength', we constructed a copy of the SVGLength object, modified it, and called rectElement->setXBaseValue(newLength).
864         This is not efficient at all, as we have to construct several copies of the SVGLength object, utilize callbacks to propagate the value changes in the SVG DOM.
865         Furthermore, all bindings had to expose a similar concept, otherwhise SVG DOM wouldn't work. Up until now, only JSC and V8 bindings were available, that worked properly.
866
867         The new SVGAnimatedProperty concept removes the need for JSSVGPODTypeWrapper (and friends like JSSVGContextCache, that associated a SVGLength with its SVGRectElement).
868         Instead a solution is offered, that all bindings can use simultaneously, without adding new types or special concepts like JSSVGPODTypeWrapper.
869
870         It works like this:
871         A new refcounted SVGAnimatedProperty<PropertyType> template class is available, that stores a QualifiedName to associate the SVG DOM property with a XML DOM attribute.
872         It also stores a RefPtr to the SVGElement that created it.
873         
874         In SVGRectElement we still store SVGLength m_x/m_y/m_width/m_height members, and offer a new "xAnimated()" method which looks up or creates a SVGAnimatedProperty<SVGLength>
875         object. The JS/V8/ObjC bindings call this method whenever someone requests "rect.x/y/width/height", and a new wrapper is created, and stored in a HashMap.
876
877         The SVGAnimatedProperty<PropertyType> is a base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff, the latter is used for all types of lists (SVGLengthList).
878         SVGAnimatedProperty contains two methods used in the bindings: SVGProperty* baseVal and SVGProperty* animVal. SVGProperty is a base class for SVGPropertyTearOff and
879         SVGListPropertyTearOff. Upon invocation of the baseVal/animVal methods a new SVG(List)PropertyTearOff object is created and stored in a RefPtr.
880         The SVGPropertyTearOff objects stores a _reference_ to the type it wraps. Concrete example:
881         When calling rect.x, a SVGAnimatedPropertyTearOff<SVGLength> is created, that stores a pointer to the SVGRectElement, and a SVGNames::xAttr.
882         When calling rect.x.baseVal, a SVGPropertyTearOf<SVGLength> is created, that stores a reference to the "m_x" member variable of the SVGRectElement.
883         Any changes applied to the SVGLength object, through the wrapper, are immediately live, as no copies are involved anymore, nor the need to fire any callback methods.
884         This is the key concept of the new tear offs, no copies, no callbacks, no virtual methods (except one, needed for lists, but it's a detail).
885
886         The SVGAnimatedListPropertyTearOff and SVGListPropertyTearOff work the same, but for SVG*List objects. The whole SVG*List API is _removed_ from the SVG DOM classes
887         like SVGLengthList. It now inherits from Vector<SVGLength>, where it used to store a Vector<RefPtr<SVGListItem<SVGLength> > >. The SVGList API (insertItemBefore, appendItem, etc.)
888         is exposed through SVGListPropertyTearOff, and there's no need anymore for SVGLengthList to deal with it at all.
889         SVGLengthList is live just like most other SVG DOM object. Concrete example:
890         var item0 = text.x.baseVal.getItem(0); item0.value += 150;
891
892         Previously we chose to store a refcounted SVGListItem object, which wrapped the SVGLength object, to achieve liveness. We could change a single list item from DOM
893         w/o copying the whole list. The drawback is that a simple type likeSVGLengthList, was heavy to store, as it contained a list of RefPtrs around a wrapper object
894         around the real object 'SVGLength'. This complexity is completly gone.
895
896         The SVGListPropertyTearOff<SVGLengthList> stores a reference to the SVGLengthList object (eg. SVGTextElement::m_x) and maintains a list of SVGPropertyTearOff<SVGLength>
897         wrappers, that are created when necessary (getItem(2), will create a wrapper around the third list item), and cached. These SVGPropertyTearOff<SVGLength> objects
898         store references to the SVGLength object _in the SVGLengthList_. One has to be extra carefully, to keep those lists synchronized.
899         The SVGLengthList API is fully implemented for the first time, including moving items between lists, and is extensively tested with 8 new testcases.
900
901         This patch only changed SVGLength/SVGLengthList to the new concept. All other types remain using the old DeprecatedSVGAnimatedProperty* concept.
902         This will change in follow-up patches.
903
904         * GNUmakefile.am: Add new files from svg/properties to build.
905         * WebCore.gypi: Ditto.
906         * WebCore.pro: Ditto.
907         * WebCore.vcproj/WebCore.vcproj: Ditto.
908         * WebCore.xcodeproj/project.pbxproj: Ditto.
909         * bindings/js/JSSVGLengthCustom.cpp: Adapt to context cache removal for SVGLength.
910         (WebCore::JSSVGLength::value):
911         (WebCore::JSSVGLength::convertToSpecifiedUnits):
912         * bindings/scripts/CodeGenerator.pm: Add new isSVGNewStyleAnimatedProperty() helper method, return true for "SVGAnimatedLength" and "SVGAnimatedLengthList".
913         * bindings/scripts/CodeGeneratorJS.pm: Generate new style SVG JS bindings, that don't need JSSVGContextCache / JSSVGPODTypeWrapper.
914         * bindings/scripts/CodeGeneratorObjC.pm: Ditto. (+ Finally expose a working set of SVG DOM API for Objective C).
915         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
916         * bindings/v8/custom/V8SVGLengthCustom.cpp: Adapt to context cache removal for SVGLength.
917         (WebCore::V8SVGLength::valueAccessorGetter):
918         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
919         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
920         (WebCore::extractFloatValuesFromSVGLengthList): SVGLengthList is a POD type now, passed as const reference.
921         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove handling for SVGLength/SVGLengthList, those are converted to the new SVGAnimatedProperty design now.
922         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
923         * svg/SVGAnimatedLength.h: Added.
924         * svg/SVGAnimatedLength.idl: Mark as [SVGAnimatedProperty].
925         * svg/SVGAnimatedLengthList.h: Added.
926         * svg/SVGAnimatedLengthList.idl: Mark as [SVGAnimatedProperty].
927         * svg/SVGCircleElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
928         * svg/SVGCursorElement.h: Ditto.
929         * svg/SVGEllipseElement.h: Ditto.
930         * svg/SVGFilterElement.h: Ditto.
931         * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
932         * svg/SVGForeignObjectElement.h: Ditto.
933         * svg/SVGImageElement.h: Ditto.
934         * svg/SVGLength.idl: Mark as [SVGProperty].
935         * svg/SVGLengthList.cpp: Use Vector API (appendItem -> append). No need to ever use the SVGList API internally. SVGLengthList is a Vector<SVGLength> now.
936         (WebCore::SVGLengthList::parse): 
937         (WebCore::SVGLengthList::valueAsString):
938         * svg/SVGLengthList.h: Inherit from Vector<SVGLength> - not from the SVGList base class. It's a simple, non-refcounted POD type now.
939         (WebCore::SVGLengthList::SVGLengthList):
940         * svg/SVGLengthList.idl: Mark as [SVGListProperty].
941         * svg/SVGLineElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
942         * svg/SVGLinearGradientElement.h: Ditto.
943         * svg/SVGMarkerElement.h: Ditto.
944         * svg/SVGMaskElement.h: Ditto.
945         * svg/SVGPatternElement.h: Ditto.
946         * svg/SVGRadialGradientElement.h: Ditto.
947         * svg/SVGRectElement.h: Ditto.
948         * svg/SVGSVGElement.h: Ditto.
949         * svg/SVGSVGElement.idl: Mark createSVGLength() as [SVGLiveProperty] - a wrapper for the returned object has to be created.
950         * svg/SVGTextContentElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
951         * svg/SVGTextPathElement.h: Ditto.
952         * svg/SVGTextPositioningElement.cpp:
953         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
954         (WebCore::SVGTextPositioningElement::parseMappedAttribute): Detach wrappers pointing to the old x/y/dx/dy list, if the underlying list changes via XML DOM.
955         (WebCore::listContainsRelativeValue): Adapt to SVGLengthList interface changes, it's a POD type now.
956         * svg/SVGTextPositioningElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_LIST_PROPERTY_NEW/ until the transition to the new concept is finished.
957         * svg/SVGUseElement.h:
958         * svg/properties/SVGAnimatedListPropertyTearOff.h: Added.
959         * svg/properties/SVGAnimatedProperty.h: Added. This is the base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff.
960         * svg/properties/SVGAnimatedPropertyDescription.h: Added. Refactored from DeprecatedSVGAnimatedProperty.h.
961         * svg/properties/SVGAnimatedPropertyMacros.h: Added. These macros will be _removed_ as soon as the transition to the new concept is finished.
962         * svg/properties/SVGAnimatedPropertyTearOff.h: Added.
963         * svg/properties/SVGListPropertyTearOff.h: Added.
964         * svg/properties/SVGProperty.h: Added. This is the base class for SVGPropertyTearOff and SVGListPropertyTearOff.
965         * svg/properties/SVGPropertyTearOff.h: Added.
966         * svg/properties/SVGPropertyTraits.h: Added.
967
968 2010-10-21  Alex Milowski  <alex@milowski.com>
969
970         Reviewed by Kenneth Rohde Christiansen.
971
972         Changed the layout algorithm for rows to avoid unnecessary recursion
973         into child rows.  This solves the long rendering time experienced in
974         https://bugs.webkit.org/show_bug.cgi?id=43462 as well as reports in
975         various other bugs.  The change in the algorithm required some
976         tweaks to other rendering objects to make sure that the baseline
977         alignment still works.
978
979         In addition, an attempt was made to go through the various
980         rendering objects for MathML and reduce unnecessary calls that
981         mark the tree in need of layout.
982
983         * mathml/RenderMathMLFenced.cpp:
984         * mathml/RenderMathMLFenced.h:
985         * mathml/RenderMathMLFraction.cpp:
986         (WebCore::RenderMathMLFraction::layout):
987         * mathml/RenderMathMLOperator.cpp:
988         (WebCore::RenderMathMLOperator::stretchToHeight):
989         * mathml/RenderMathMLRoot.cpp:
990         (WebCore::RenderMathMLRoot::layout):
991         * mathml/RenderMathMLRow.cpp:
992         (WebCore::RenderMathMLRow::layout):
993         * mathml/RenderMathMLRow.h:
994         (WebCore::RenderMathMLRow::stretchToHeight):
995         * mathml/RenderMathMLSubSup.cpp:
996         (WebCore::RenderMathMLSubSup::addChild):
997         (WebCore::RenderMathMLSubSup::stretchToHeight):
998         (WebCore::RenderMathMLSubSup::nonOperatorHeight):
999         (WebCore::RenderMathMLSubSup::layout):
1000         (WebCore::RenderMathMLSubSup::baselinePosition):
1001         * mathml/RenderMathMLUnderOver.cpp:
1002         (WebCore::RenderMathMLUnderOver::stretchToHeight):
1003         (WebCore::RenderMathMLUnderOver::layout):
1004         (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
1005         * mathml/mathtags.in:
1006
1007 2010-10-21  Evan Martin  <evan@chromium.org>
1008
1009         Reviewed by Tony Chang.
1010
1011         sqlite: show extended error codes in error logs
1012         https://bugs.webkit.org/show_bug.cgi?id=47859
1013
1014         SQLite can provide "extended" error codes, where extra information
1015         about the error is potentially encoded in the high bits of the error
1016         code.  It's only off by default in case older apps rely on equality
1017         testing on the older error codes, which WebKit doesn't do.
1018
1019         * platform/sql/SQLiteDatabase.cpp:
1020         (WebCore::SQLiteDatabase::open):
1021         * platform/sql/SQLiteStatement.cpp:
1022         (WebCore::SQLiteStatement::step):
1023
1024 2010-10-21  Yuta Kitamura  <yutak@chromium.org>
1025
1026         Reviewed by Yury Semikhatsky.
1027
1028         Web Inspector: Handle WebSocket events via InspectorInstrumentation
1029         https://bugs.webkit.org/show_bug.cgi?id=47968
1030
1031         * inspector/InspectorInstrumentation.cpp:
1032         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
1033         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
1034         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
1035         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
1036         * inspector/InspectorInstrumentation.h:
1037         (WebCore::InspectorInstrumentation::didCreateWebSocket):
1038         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
1039         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
1040         (WebCore::InspectorInstrumentation::didCloseWebSocket):
1041         * websockets/WebSocketChannel.cpp:
1042         (WebCore::WebSocketChannel::WebSocketChannel):
1043         Now we do not depend on InspectorController to generate a resource identifier.
1044         (WebCore::WebSocketChannel::disconnect):
1045         Check if m_identifier is valid in case we could not obtain an identifier.
1046         (WebCore::WebSocketChannel::didOpen):
1047         (WebCore::WebSocketChannel::didClose):
1048         (WebCore::WebSocketChannel::processBuffer):
1049         * websockets/WebSocketChannel.h:
1050
1051 2010-10-20  Pavel Feldman  <pfeldman@chromium.org>
1052
1053         Reviewed by Yury Semikhatsky.
1054
1055         Web Inspector: Convert sidebar into the browsing tree in the Storage panel.
1056         https://bugs.webkit.org/show_bug.cgi?id=47988
1057
1058         * English.lproj/localizedStrings.js:
1059         * inspector/front-end/ApplicationCacheItemsView.js:
1060         (WebInspector.ApplicationCacheItemsView):
1061         * inspector/front-end/ConsoleView.js:
1062         (WebInspector.ConsoleMessage.prototype._formatMessage):
1063         * inspector/front-end/CookieItemsView.js:
1064         (WebInspector.CookieItemsView):
1065         * inspector/front-end/DatabaseTableView.js:
1066         (WebInspector.DatabaseTableView.prototype._queryFinished):
1067         * inspector/front-end/StoragePanel.js:
1068         (WebInspector.StoragePanel):
1069         (WebInspector.StoragePanel.prototype.reset):
1070         (WebInspector.StoragePanel.prototype.addDatabase):
1071         (WebInspector.StoragePanel.prototype.addCookieDomain):
1072         (WebInspector.StoragePanel.prototype.addDOMStorage):
1073         (WebInspector.StoragePanel.prototype.addApplicationCache):
1074         (WebInspector.StoragePanel.prototype.showDatabase):
1075         (WebInspector.StoragePanel.prototype.showDOMStorage):
1076         (WebInspector.StoragePanel.prototype.showCookies):
1077         (WebInspector.StoragePanel.prototype.showApplicationCache):
1078         (WebInspector.StoragePanel.prototype.showCategoryView):
1079         (WebInspector.StoragePanel.prototype._innerShowView):
1080         (WebInspector.BaseStorageTreeElement):
1081         (WebInspector.BaseStorageTreeElement.prototype.onattach):
1082         (WebInspector.StorageCategoryTreeElement):
1083         (WebInspector.StorageCategoryTreeElement.prototype.onselect):
1084         (WebInspector.DatabaseTreeElement):
1085         (WebInspector.DatabaseTreeElement.prototype.onselect):
1086         (WebInspector.DatabaseTreeElement.prototype.onpopulate.tableNamesCallback):
1087         (WebInspector.DatabaseTreeElement.prototype.onpopulate):
1088         (WebInspector.DatabaseTableTreeElement):
1089         (WebInspector.DatabaseTableTreeElement.prototype.onselect):
1090         (WebInspector.DOMStorageTreeElement):
1091         (WebInspector.DOMStorageTreeElement.prototype.onselect):
1092         (WebInspector.CookieTreeElement):
1093         (WebInspector.CookieTreeElement.prototype.onselect):
1094         (WebInspector.ApplicationCacheTreeElement):
1095         (WebInspector.ApplicationCacheTreeElement.prototype.onselect):
1096         (WebInspector.StorageCategoryView):
1097         (WebInspector.StorageCategoryView.prototype.setText):
1098         * inspector/front-end/inspector.css:
1099         (.properties-tree ol):
1100         (.properties-tree ol.expanded):
1101         (.database-storage-tree-item .icon):
1102         (.database-table-storage-tree-item .icon):
1103         (.domstorage-storage-tree-item.local-storage .icon):
1104         (.domstorage-storage-tree-item.session-storage .icon):
1105         (.cookie-storage-tree-item .icon):
1106         (.application-cache-storage-tree-item .icon):
1107         (.storage.panel .sidebar):
1108         (.storage.panel .outline-disclosure > ol):
1109         (.storage.panel .outline-disclosure li):
1110         (.storage.panel .outline-disclosure li .selection):
1111         (.storage.panel .sidebar-resizer-vertical):
1112         (.storage-base-tree-element-title):
1113         (.storage.panel .outline-disclosure ol):
1114         (.storage.panel .outline-disclosure li.selected):
1115         (.storage.panel .outline-disclosure .icon):
1116         (.storage-empty-view, .storage-view.table .storage-table-error):
1117
1118 2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1119
1120         Reviewed by Martin Robinson.
1121
1122         [GTK] Replace encodings multi-dimensional array with calls to registrar method
1123         https://bugs.webkit.org/show_bug.cgi?id=47990
1124
1125         * platform/text/gtk/TextCodecGtk.cpp:
1126         (WebCore::isEncodingAvailable):
1127         (WebCore::registerEncodingNameIfAvailable):
1128         (WebCore::registerEncodingAliasIfAvailable):
1129         (WebCore::registerCodecIfAvailable):
1130         (WebCore::TextCodecGtk::registerBaseEncodingNames):
1131         (WebCore::TextCodecGtk::registerBaseCodecs):
1132         (WebCore::TextCodecGtk::registerExtendedEncodingNames):
1133         (WebCore::TextCodecGtk::registerExtendedCodecs):
1134         (WebCore::TextCodecGtk::createIConvDecoder):
1135         (WebCore::TextCodecGtk::createIConvEncoder):
1136         * platform/text/gtk/TextCodecGtk.h:
1137
1138 2010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1139
1140         Unreviewed, rolling out r70040.
1141         http://trac.webkit.org/changeset/70040
1142         https://bugs.webkit.org/show_bug.cgi?id=48042
1143
1144         "Reverting a performance regression detected by page_cycler"
1145         (Requested by hayato on #webkit).
1146
1147         * css/CSSStyleSelector.cpp:
1148         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1149         (WebCore::CSSStyleSelector::checkSelector):
1150         * css/CSSStyleSelector.h:
1151
1152 2010-10-19  Simon Fraser  <simon.fraser@apple.com>
1153
1154         Reviewed by Gavin Barraclough.
1155
1156         https://bugs.webkit.org/show_bug.cgi?id=47851
1157         
1158         Avoid buffer overflows in CSSPrimitiveValue's use of 
1159         DecimalNumber, and pass the buffer size in InspectorBasicValue.
1160
1161         Test: fast/css/large-value-csstext.html
1162
1163         * css/CSSPrimitiveValue.cpp:
1164         (WebCore::formatNumber):
1165         * inspector/InspectorValues.cpp:
1166         (WebCore::InspectorBasicValue::writeJSON):
1167
1168 2010-10-20  Dumitru Daniliuc  <dumi@chromium.org>
1169
1170         Reviewed by David Levin.
1171
1172         Add SecurityOrigin::threadsafeCopy() to the list of exported symbols.
1173         https://bugs.webkit.org/show_bug.cgi?id=40655
1174
1175         * WebCore.exp.in:
1176
1177 2010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1178
1179         Unreviewed, rolling out r70165.
1180         http://trac.webkit.org/changeset/70165
1181         https://bugs.webkit.org/show_bug.cgi?id=48007
1182
1183         It broke tests on Qt bot (Requested by Ossy on #webkit).
1184
1185         * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
1186         * bindings/js/ScriptSourceCode.h:
1187         (WebCore::ScriptSourceCode::ScriptSourceCode):
1188         * bindings/v8/ScheduledAction.cpp:
1189         (WebCore::ScheduledAction::ScheduledAction):
1190         * bindings/v8/ScriptController.cpp:
1191         (WebCore::ScriptController::eventHandlerLineNumber):
1192         (WebCore::ScriptController::eventHandlerColumnNumber):
1193         * bindings/v8/ScriptController.h:
1194         * bindings/v8/ScriptEventListener.cpp:
1195         (WebCore::createAttributeEventListener):
1196         * bindings/v8/ScriptSourceCode.h:
1197         (WebCore::ScriptSourceCode::ScriptSourceCode):
1198         (WebCore::ScriptSourceCode::startLine):
1199         * bindings/v8/V8LazyEventListener.cpp:
1200         (WebCore::V8LazyEventListener::V8LazyEventListener):
1201         (WebCore::V8LazyEventListener::prepareListenerObject):
1202         * bindings/v8/V8LazyEventListener.h:
1203         (WebCore::V8LazyEventListener::create):
1204         * bindings/v8/V8Proxy.cpp:
1205         (WebCore::V8Proxy::compileScript):
1206         (WebCore::V8Proxy::evaluate):
1207         (WebCore::V8Proxy::runScript):
1208         * bindings/v8/V8Proxy.h:
1209         * bindings/v8/WorkerContextExecutionProxy.cpp:
1210         (WebCore::WorkerContextExecutionProxy::evaluate):
1211         (WebCore::WorkerContextExecutionProxy::runScript):
1212         * bindings/v8/WorkerContextExecutionProxy.h:
1213         * bindings/v8/WorkerScriptController.cpp:
1214         (WebCore::WorkerScriptController::evaluate):
1215         * dom/PendingScript.cpp:
1216         (WebCore::PendingScript::releaseElementAndClear):
1217         * dom/PendingScript.h:
1218         (WebCore::PendingScript::PendingScript):
1219         (WebCore::PendingScript::operator=):
1220         (WebCore::PendingScript::startingLineNumber):
1221         * dom/ScriptableDocumentParser.h:
1222         * dom/XMLDocumentParser.h:
1223         * dom/XMLDocumentParserLibxml2.cpp:
1224         (WebCore::XMLDocumentParser::XMLDocumentParser):
1225         (WebCore::XMLDocumentParser::startElementNs):
1226         (WebCore::XMLDocumentParser::endElementNs):
1227         (WebCore::XMLDocumentParser::lineNumber):
1228         (WebCore::XMLDocumentParser::columnNumber):
1229         * dom/XMLDocumentParserQt.cpp:
1230         (WebCore::XMLDocumentParser::XMLDocumentParser):
1231         (WebCore::XMLDocumentParser::parseStartElement):
1232         (WebCore::XMLDocumentParser::parseEndElement):
1233         * html/parser/HTMLDocumentParser.cpp:
1234         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
1235         (WebCore::HTMLDocumentParser::columnNumber):
1236         * html/parser/HTMLDocumentParser.h:
1237         * html/parser/HTMLScriptRunner.cpp:
1238         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
1239         (WebCore::HTMLScriptRunner::execute):
1240         (WebCore::HTMLScriptRunner::runScript):
1241         * html/parser/HTMLScriptRunner.h:
1242         * html/parser/HTMLTreeBuilder.cpp:
1243         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1244         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
1245         (WebCore::HTMLTreeBuilder::processEndTag):
1246         (WebCore::HTMLTreeBuilder::processScriptStartTag):
1247         * html/parser/HTMLTreeBuilder.h:
1248
1249 2010-10-20  David Hyatt  <hyatt@apple.com>
1250
1251         Reviewed by Dan Bernstein.
1252
1253         https://bugs.webkit.org/show_bug.cgi?id=48001
1254
1255         Make boxes place themselves properly in the block direction.  Get basic painting working for spans and add a test that
1256         verifies that span painting and replaced element painting (like images) works correctly.
1257         
1258         Added fast/blockflow/basic-vertical-line.html
1259
1260         * rendering/InlineBox.cpp:
1261         (WebCore::InlineBox::logicalHeight):
1262         * rendering/InlineFlowBox.cpp:
1263         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
1264         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
1265         (WebCore::verticalPositionForBox):
1266         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1267         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1268         (WebCore::InlineFlowBox::flipLinesInBlockDirection):
1269         (WebCore::InlineFlowBox::paintBoxDecorations):
1270         (WebCore::InlineFlowBox::paintMask):
1271         * rendering/InlineFlowBox.h:
1272         * rendering/style/RenderStyle.h:
1273         (WebCore::InheritedFlags::isFlippedLinesWritingMode):
1274
1275 2010-10-20  Beth Dakin  <bdakin@apple.com>
1276
1277         Reviewed by Dave Hyatt.
1278
1279         Fix for https://bugs.webkit.org/show_bug.cgi?id=47514 CSS 
1280         transforms should affect scrolling
1281
1282         This patch causes topmostPosition, lowestPosition, 
1283         leftmostPosition, and rightmostPosition to take transforms into 
1284         account.
1285
1286         Compute the topmost/lowest/leftmost/rightmost position without 
1287         factoring in the block's transform until the end.
1288         * rendering/RenderBlock.cpp:
1289         (WebCore::RenderBlock::topmostPosition):
1290         (WebCore::RenderBlock::lowestPosition):
1291         (WebCore::RenderBlock::rightmostPosition):
1292         (WebCore::RenderBlock::leftmostPosition):
1293         * rendering/RenderBlock.h:
1294
1295         transformedFrameRect() returns the frameRect() transformed to the 
1296         layer's transform. applyLayerTransformToRect() does the same thing 
1297         for the input rect.
1298         * rendering/RenderBox.cpp:
1299         (WebCore::RenderBox::applyLayerTransformToRect):
1300         (WebCore::RenderBox::transformedFrameRect):
1301         (WebCore::RenderBox::topmostPosition):
1302         (WebCore::RenderBox::lowestPosition):
1303         (WebCore::RenderBox::rightmostPosition):
1304         (WebCore::RenderBox::leftmostPosition):
1305         * rendering/RenderBox.h:
1306         * rendering/RenderMedia.cpp:
1307         (WebCore::RenderMedia::topmostPosition):
1308         (WebCore::RenderMedia::lowestPosition):
1309         (WebCore::RenderMedia::rightmostPosition):
1310         (WebCore::RenderMedia::leftmostPosition):
1311         * rendering/RenderMedia.h:
1312         * rendering/RenderTableSection.cpp:
1313         (WebCore::RenderTableSection::topmostPosition):
1314         (WebCore::RenderTableSection::lowestPosition):
1315         (WebCore::RenderTableSection::rightmostPosition):
1316         (WebCore::RenderTableSection::leftmostPosition):
1317         * rendering/RenderTableSection.h:
1318
1319 2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
1320
1321         Not reviewed.
1322
1323         Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty*
1324         https://bugs.webkit.org/show_bug.cgi?id=47973
1325
1326         Copy headers from svg/properties, otherwhise builds from scratch on win are broken.
1327
1328         * WebCore.vcproj/copyForwardingHeaders.cmd:
1329
1330 2010-10-20  Peter Rybin  <peter.rybin@gmail.com>
1331
1332         Reviewed by Adam Barth.
1333
1334         HTML parser should provide script column position within HTML document to JavaScript engine
1335         https://bugs.webkit.org/show_bug.cgi?id=45271
1336
1337         Replaces line number with TextPosition struct so that script engine
1338         gets script starting line/column.
1339
1340         * ForwardingHeaders/wtf/text/TextPosition.h: Added.
1341         * bindings/js/ScriptSourceCode.h:
1342         (WebCore::ScriptSourceCode::ScriptSourceCode):
1343         * bindings/v8/ScheduledAction.cpp:
1344         (WebCore::ScheduledAction::ScheduledAction):
1345         * bindings/v8/ScriptController.cpp:
1346         (WebCore::ScriptController::eventHandlerPosition):
1347         * bindings/v8/ScriptController.h:
1348         * bindings/v8/ScriptEventListener.cpp:
1349         (WebCore::createAttributeEventListener):
1350         * bindings/v8/ScriptSourceCode.h:
1351         (WebCore::ScriptSourceCode::ScriptSourceCode):
1352         (WebCore::ScriptSourceCode::startLine):
1353         (WebCore::ScriptSourceCode::startPosition):
1354         * bindings/v8/V8LazyEventListener.cpp:
1355         (WebCore::V8LazyEventListener::V8LazyEventListener):
1356         (WebCore::V8LazyEventListener::prepareListenerObject):
1357         * bindings/v8/V8LazyEventListener.h:
1358         (WebCore::V8LazyEventListener::create):
1359         * bindings/v8/V8Proxy.cpp:
1360         (WebCore::V8Proxy::compileScript):
1361         (WebCore::V8Proxy::evaluate):
1362         (WebCore::V8Proxy::runScript):
1363         * bindings/v8/V8Proxy.h:
1364         * bindings/v8/WorkerContextExecutionProxy.cpp:
1365         (WebCore::WorkerContextExecutionProxy::evaluate):
1366         (WebCore::WorkerContextExecutionProxy::runScript):
1367         * bindings/v8/WorkerContextExecutionProxy.h:
1368         * bindings/v8/WorkerScriptController.cpp:
1369         (WebCore::WorkerScriptController::evaluate):
1370         * dom/PendingScript.cpp:
1371         (WebCore::PendingScript::releaseElementAndClear):
1372         * dom/PendingScript.h:
1373         (WebCore::PendingScript::PendingScript):
1374         (WebCore::PendingScript::operator=):
1375         (WebCore::PendingScript::startingPosition):
1376         * dom/ScriptableDocumentParser.h:
1377         * dom/XMLDocumentParser.h:
1378         * dom/XMLDocumentParserLibxml2.cpp:
1379         (WebCore::XMLDocumentParser::XMLDocumentParser):
1380         (WebCore::XMLDocumentParser::startElementNs):
1381         (WebCore::XMLDocumentParser::endElementNs):
1382         (WebCore::XMLDocumentParser::lineNumber):
1383         (WebCore::XMLDocumentParser::columnNumber):
1384         (WebCore::XMLDocumentParser::textPosition):
1385         (WebCore::XMLDocumentParser::textPositionOneBased):
1386         * dom/XMLDocumentParserQt.cpp:
1387         (WebCore::XMLDocumentParser::XMLDocumentParser):
1388         (WebCore::XMLDocumentParser::textPosition):
1389         (WebCore::XMLDocumentParser::parseStartElement):
1390         (WebCore::XMLDocumentParser::parseEndElement):
1391         * html/parser/HTMLDocumentParser.cpp:
1392         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
1393         (WebCore::HTMLDocumentParser::textPosition):
1394         * html/parser/HTMLDocumentParser.h:
1395         * html/parser/HTMLScriptRunner.cpp:
1396         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
1397         (WebCore::HTMLScriptRunner::execute):
1398         (WebCore::HTMLScriptRunner::runScript):
1399         * html/parser/HTMLScriptRunner.h:
1400         * html/parser/HTMLTreeBuilder.cpp:
1401         (WebCore::uninitializedPositionValue1):
1402         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1403         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
1404         (WebCore::HTMLTreeBuilder::processEndTag):
1405         (WebCore::HTMLTreeBuilder::processScriptStartTag):
1406         * html/parser/HTMLTreeBuilder.h:
1407
1408 2010-10-20  David Hyatt  <hyatt@apple.com>
1409
1410         Reviewed by Simon Fraser.
1411
1412         https://bugs.webkit.org/show_bug.cgi?id=47994
1413         
1414         Make computeBlockDirectionPositionsForLine writing-mode-aware.  None of the functions it calls are patched yet.
1415
1416         * rendering/RenderBlockLineLayout.cpp:
1417         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
1418
1419 2010-10-20  John Abd-El-Malek  <jam@chromium.org>
1420
1421         Reviewed by Darin Fisher.
1422
1423         [chromium] Fix crash when mousing over scrollview
1424         https://bugs.webkit.org/show_bug.cgi?id=47956
1425
1426         Test: plugins/mouse-move-over-plugin-in-frame.html
1427
1428         * platform/Widget.h:
1429         (WebCore::Widget::isPluginContainer):
1430
1431 2010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1432
1433         Unreviewed, rolling out r70149.
1434         http://trac.webkit.org/changeset/70149
1435         https://bugs.webkit.org/show_bug.cgi?id=47989
1436
1437         "Build breaks in mac and win" (Requested by satish on
1438         #webkit).
1439
1440         * dom/Element.cpp:
1441         (WebCore::Element::computeInheritedLanguage):
1442         * page/SpeechInput.cpp:
1443         (WebCore::SpeechInput::startRecognition):
1444         * page/SpeechInput.h:
1445         * page/SpeechInputClient.h:
1446         * platform/mock/SpeechInputClientMock.cpp:
1447         (WebCore::SpeechInputClientMock::startRecognition):
1448         (WebCore::SpeechInputClientMock::setRecognitionResult):
1449         (WebCore::SpeechInputClientMock::timerFired):
1450         * platform/mock/SpeechInputClientMock.h:
1451         * rendering/TextControlInnerElements.cpp:
1452         (WebCore::TextControlInnerElement::attachInnerElement):
1453         (WebCore::SearchFieldCancelButtonElement::detach):
1454         (WebCore::SpinButtonElement::defaultEventHandler):
1455         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
1456         (WebCore::InputFieldSpeechButtonElement::detach):
1457
1458 2010-10-19  Leandro Gracia Gil  <leandrogracia@google.com>
1459
1460         Reviewed by Jeremy Orlow.
1461
1462         Patch the current speech input implementation to use and validate the
1463         nearest language tag. The language is now passed to the startRecognition
1464         methods so that language-specific recognition could be used. Also added
1465         a second parameter to setMockSpeechInputResult for the language used in
1466         speech recognition.
1467         https://bugs.webkit.org/show_bug.cgi?id=47089
1468
1469         This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
1470         details see http://codereview.chromium.org/3615005/show and
1471         http://codereview.chromium.org/3595018/show.
1472
1473         Test: fast/speech/input-text-language-tag.html
1474
1475         * dom/Element.cpp:
1476         (WebCore::Element::computeInheritedLanguage): includes a brief character
1477           validation for the BCP 47 language tag.
1478         * page/SpeechInput.cpp:
1479         (WebCore::SpeechInput::startRecognition):
1480         * page/SpeechInput.h:
1481         * page/SpeechInputClient.h:
1482         * platform/mock/SpeechInputClientMock.cpp:
1483         (WebCore::SpeechInputClientMock::startRecognition):
1484         (WebCore::SpeechInputClientMock::setRecognitionResult): results are now
1485           stored by language using a hash map.
1486         (WebCore::SpeechInputClientMock::timerFired):
1487         * platform/mock/SpeechInputClientMock.h:
1488         * rendering/TextControlInnerElements.cpp:
1489         (WebCore::TextControlInnerElement::attachInnerElement):
1490         (WebCore::SearchFieldCancelButtonElement::detach):
1491         (WebCore::SpinButtonElement::defaultEventHandler):
1492         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
1493         (WebCore::InputFieldSpeechButtonElement::detach):
1494
1495 2010-10-20  Dirk Schulze  <krit@webkit.org>
1496
1497         Reviewed by Nikolas Zimmermann.
1498
1499         Merge ColorSpace and ImageColorSpace enums
1500         https://bugs.webkit.org/show_bug.cgi?id=47922
1501
1502         Merging these two enums makes it easier to implement color-interpolation as well as
1503         color-interpolation-filter for SVG.
1504         Added ColorSpaceLinearRGB to the ColorSpace enum and changed ImageColorSpace to ColorSpace in all related
1505         files. Renamed enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
1506         to follow webkit style rules.
1507         Removed gray scale support in ImageBuffer since it is not used anymore on WebKit.
1508
1509         * css/CSSPrimitiveValueMappings.h:
1510         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1511         (WebCore::CSSPrimitiveValue::operator ColorSpace):
1512         * css/CSSStyleSelector.cpp:
1513         (WebCore::CSSStyleSelector::applyProperty):
1514         * editing/SelectionController.cpp:
1515         (WebCore::SelectionController::paintCaret):
1516         * html/HTMLCanvasElement.cpp:
1517         (WebCore::HTMLCanvasElement::paint):
1518         * html/canvas/CanvasRenderingContext2D.cpp:
1519         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
1520         (WebCore::CanvasRenderingContext2D::setShadow):
1521         (WebCore::CanvasRenderingContext2D::applyShadow):
1522         (WebCore::CanvasRenderingContext2D::drawImage):
1523         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1524         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1525         * html/canvas/CanvasStyle.cpp:
1526         (WebCore::CanvasStyle::applyStrokeColor):
1527         (WebCore::CanvasStyle::applyFillColor):
1528         * inspector/InspectorController.cpp:
1529         (WebCore::drawOutlinedQuad):
1530         (WebCore::InspectorController::drawElementTitle):
1531         * mathml/RenderMathMLBlock.cpp:
1532         (WebCore::RenderMathMLBlock::paint):
1533         * mathml/RenderMathMLFraction.cpp:
1534         (WebCore::RenderMathMLFraction::paint):
1535         * mathml/RenderMathMLRoot.cpp:
1536         (WebCore::RenderMathMLRoot::paint):
1537         * mathml/RenderMathMLSquareRoot.cpp:
1538         (WebCore::RenderMathMLSquareRoot::paint):
1539         * page/FrameView.cpp:
1540         (WebCore::FrameView::paintContents):
1541         * page/PrintContext.cpp:
1542         (WebCore::PrintContext::spoolAllPagesWithBoundaries):
1543         * platform/ScrollView.cpp:
1544         (WebCore::ScrollView::wheelEvent):
1545         * platform/ScrollbarTheme.h:
1546         (WebCore::ScrollbarTheme::paintScrollCorner):
1547         * platform/ScrollbarThemeComposite.cpp:
1548         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
1549         * platform/chromium/PopupMenuChromium.cpp:
1550         (WebCore::PopupContainer::paintBorder):
1551         (WebCore::PopupListBox::paint):
1552         (WebCore::PopupListBox::paintRow):
1553         * platform/chromium/ScrollbarThemeChromium.cpp:
1554         (WebCore::ScrollbarThemeChromium::paintTickmarks):
1555         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1556         (WebCore::ScrollbarThemeChromiumMac::paint):
1557         * platform/graphics/ColorSpace.h:
1558         * platform/graphics/GraphicsContext.cpp:
1559         (WebCore::GraphicsContext::setStrokePattern):
1560         (WebCore::GraphicsContext::setFillPattern):
1561         (WebCore::GraphicsContext::setStrokeGradient):
1562         (WebCore::GraphicsContext::setFillGradient):
1563         * platform/graphics/GraphicsContextPrivate.h:
1564         (WebCore::GraphicsContextState::GraphicsContextState):
1565         * platform/graphics/ImageBuffer.cpp:
1566         (WebCore::ImageBuffer::transformColorSpace):
1567         * platform/graphics/ImageBuffer.h:
1568         (WebCore::ImageBuffer::create):
1569         * platform/graphics/cairo/ImageBufferCairo.cpp:
1570         (WebCore::ImageBuffer::ImageBuffer):
1571         * platform/graphics/cg/ColorCG.cpp:
1572         (WebCore::cachedCGColorSpace):
1573         (WebCore::cachedCGColor):
1574         * platform/graphics/cg/GraphicsContextCG.cpp:
1575         (WebCore::linearRGBColorSpaceRef):
1576         * platform/graphics/cg/GraphicsContextCG.h:
1577         * platform/graphics/cg/ImageBufferCG.cpp:
1578         (WebCore::ImageBuffer::ImageBuffer):
1579         (WebCore::cgImage):
1580         (WebCore::ImageBuffer::draw):
1581         * platform/graphics/cg/ImageBufferData.h:
1582         * platform/graphics/cg/ImageCG.cpp:
1583         (WebCore::imageWithColorSpace):
1584         * platform/graphics/chromium/GLES2Canvas.cpp:
1585         (WebCore::GLES2Canvas::clearRect):
1586         (WebCore::GLES2Canvas::fillRect):
1587         * platform/graphics/chromium/TransparencyWin.cpp:
1588         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
1589         * platform/graphics/filters/FEColorMatrix.cpp:
1590         (WebCore::FEColorMatrix::apply):
1591         * platform/graphics/filters/FEComposite.cpp:
1592         (WebCore::FEComposite::apply):
1593         * platform/graphics/filters/FEFlood.cpp:
1594         (WebCore::FEFlood::apply):
1595         * platform/graphics/filters/FEMerge.cpp:
1596         (WebCore::FEMerge::apply):
1597         * platform/graphics/filters/FEOffset.cpp:
1598         (WebCore::FEOffset::apply):
1599         * platform/graphics/filters/FETile.cpp:
1600         (WebCore::FETile::apply):
1601         * platform/graphics/filters/FilterEffect.cpp:
1602         (WebCore::FilterEffect::effectContext):
1603         * platform/graphics/filters/SourceAlpha.cpp:
1604         (WebCore::SourceAlpha::apply):
1605         * platform/graphics/filters/SourceGraphic.cpp:
1606         (WebCore::SourceGraphic::apply):
1607         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1608         (WebCore::MediaPlayerPrivateGStreamer::paint):
1609         * platform/graphics/gtk/FontGtk.cpp:
1610         (WebCore::Font::drawComplexText):
1611         * platform/graphics/mac/GraphicsContextMac.mm:
1612         (WebCore::GraphicsContext::drawFocusRing):
1613         * platform/graphics/mac/GraphicsLayerCA.mm:
1614         (WebCore::setLayerBorderColor):
1615         (WebCore::setLayerBackgroundColor):
1616         * platform/graphics/qt/GraphicsContextQt.cpp:
1617         (WebCore::GraphicsContext::GraphicsContext):
1618         * platform/graphics/qt/ImageBufferQt.cpp:
1619         (WebCore::ImageBuffer::ImageBuffer):
1620         (WebCore::ImageBuffer::draw):
1621         * platform/graphics/skia/ImageBufferSkia.cpp:
1622         (WebCore::ImageBuffer::ImageBuffer):
1623         * platform/graphics/skia/PlatformContextSkia.cpp:
1624         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
1625         * platform/graphics/win/FontCGWin.cpp:
1626         (WebCore::Font::drawGlyphs):
1627         * platform/graphics/win/GraphicsContextCGWin.cpp:
1628         (WebCore::GraphicsContext::GraphicsContext):
1629         (WebCore::GraphicsContext::drawFocusRing):
1630         * platform/graphics/win/GraphicsLayerCACF.cpp:
1631         (WebCore::setLayerBorderColor):
1632         (WebCore::setLayerBackgroundColor):
1633         * platform/graphics/win/ImageCGWin.cpp:
1634         (WebCore::BitmapImage::getHBITMAPOfSize):
1635         * platform/graphics/win/ImageCairoWin.cpp:
1636         (WebCore::BitmapImage::getHBITMAPOfSize):
1637         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1638         * platform/graphics/win/WebLayer.cpp:
1639         (WebCore::WebLayer::drawInContext):
1640         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1641         (WebCore::GraphicsContext::clearRect):
1642         (WebCore::GraphicsContext::fillRect):
1643         * platform/graphics/wince/ImageWinCE.cpp:
1644         (WebCore::BitmapImage::getHBITMAPOfSize):
1645         * platform/graphics/wx/GraphicsContextWx.cpp:
1646         (WebCore::GraphicsContext::GraphicsContext):
1647         * platform/gtk/RenderThemeGtk.cpp:
1648         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
1649         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
1650         (WebCore::paintMediaButton):
1651         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
1652         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
1653         * platform/mac/ScrollbarThemeMac.mm:
1654         (WebCore::ScrollbarThemeMac::paint):
1655         * platform/win/PopupMenuWin.cpp:
1656         (WebCore::PopupMenuWin::paint):
1657         * platform/win/WebCoreTextRenderer.cpp:
1658         (WebCore::doDrawTextAtPoint):
1659         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
1660         (WebCore::drawTextWithSpacing):
1661         * plugins/PluginView.cpp:
1662         (WebCore::PluginView::paintMissingPluginIcon):
1663         * rendering/RenderLayer.cpp:
1664         (WebCore::RenderLayer::beginTransparencyLayers):
1665         (WebCore::RenderLayer::paintResizer):
1666         * rendering/RenderListMarker.cpp:
1667         (WebCore::RenderListMarker::paint):
1668         * rendering/RenderMediaControlsChromium.cpp:
1669         (WebCore::paintMediaButton):
1670         (WebCore::paintMediaSlider):
1671         (WebCore::paintMediaVolumeSlider):
1672         (WebCore::paintMediaTimelineContainer):
1673         * rendering/RenderSVGImage.cpp:
1674         (WebCore::RenderSVGImage::paint):
1675         * rendering/RenderSVGResourceClipper.cpp:
1676         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1677         * rendering/RenderSVGResourceFilter.cpp:
1678         (WebCore::RenderSVGResourceFilter::applyResource):
1679         (WebCore::RenderSVGResourceFilter::postApplyResource):
1680         * rendering/RenderSVGResourceGradient.cpp:
1681         (WebCore::createMaskAndSwapContextForTextGradient):
1682         * rendering/RenderSVGResourceMasker.cpp:
1683         (WebCore::RenderSVGResourceMasker::applyResource):
1684         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
1685         * rendering/RenderSVGResourcePattern.cpp:
1686         (WebCore::RenderSVGResourcePattern::createTileImage):
1687         * rendering/RenderSVGResourceSolidColor.cpp:
1688         (WebCore::RenderSVGResourceSolidColor::applyResource):
1689         * rendering/RenderScrollbarTheme.cpp:
1690         (WebCore::RenderScrollbarTheme::paintScrollCorner):
1691         * rendering/RenderThemeMac.mm:
1692         (WebCore::RenderThemeMac::paintProgressBar):
1693         (WebCore::RenderThemeMac::paintMenuListButton):
1694         * rendering/RenderThemeSafari.cpp:
1695         (WebCore::RenderThemeSafari::paintMenuListButton):
1696         * rendering/RenderThemeWinCE.cpp:
1697         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1698         (WebCore::RenderThemeWinCE::paintSliderTrack):
1699         (WebCore::RenderThemeWinCE::paintSliderThumb):
1700         * rendering/SVGImageBufferTools.cpp:
1701         (WebCore::SVGImageBufferTools::createImageBuffer):
1702         * rendering/SVGImageBufferTools.h:
1703         * rendering/style/StyleRareInheritedData.cpp:
1704         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1705         * svg/SVGFEImageElement.cpp:
1706         (WebCore::SVGFEImageElement::build):
1707         * svg/graphics/SVGImage.cpp:
1708         (WebCore::SVGImage::nativeImageForCurrentFrame):
1709         * svg/graphics/filters/SVGFEImage.cpp:
1710         (WebCore::FEImage::apply):
1711
1712 2010-10-20  Dirk Schulze  <krit@webkit.org>
1713
1714         Reviewed by Andreas Kling.
1715
1716         Remove left over code after moving Cairo port to ShadowContext
1717         https://bugs.webkit.org/show_bug.cgi?id=47929
1718
1719         ImageBufferFilter is not needed anymore, since Cairo is using ShadowContext now.
1720         Made kernelPosition() in FEGaussianBlur a inline function instead of a static function.
1721
1722         * CMakeLists.txt:
1723         * GNUmakefile.am:
1724         * WebCore.gypi:
1725         * WebCore.vcproj/WebCore.vcproj:
1726         * platform/graphics/filters/FEGaussianBlur.cpp:
1727         (WebCore::kernelPosition):
1728         * platform/graphics/filters/FEGaussianBlur.h:
1729         * platform/graphics/filters/ImageBufferFilter.cpp: Removed.
1730         * platform/graphics/filters/ImageBufferFilter.h: Removed.
1731
1732 2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
1733
1734         Not reviewed.
1735
1736         Fix efl build, by adding the new svg/properties include directory.
1737
1738         * CMakeLists.txt:
1739
1740 2010-10-19  Andrey Kosyakov  <caseq@chromium.org>
1741
1742         Reviewed by Pavel Feldman.
1743
1744         Web Inspector: expose request/response cookies in HAR
1745         https://bugs.webkit.org/show_bug.cgi?id=47894
1746
1747         Test: inspector/cookie-parser.html
1748
1749         * WebCore.gypi:
1750         * WebCore.vcproj/WebCore.vcproj:
1751         * inspector/front-end/CookieParser.js: Added.
1752         * inspector/front-end/HAREntry.js:
1753         (WebInspector.HAREntry.prototype._buildRequest):
1754         (WebInspector.HAREntry.prototype._buildResponse):
1755         (WebInspector.HAREntry.prototype._buildCookies):
1756         (WebInspector.HAREntry.prototype._buildCookie):
1757         * inspector/front-end/Resource.js: Parse Cookie/Set-Cookie headers and expose cookies.
1758         (WebInspector.Resource.prototype.set requestHeaders):
1759         (WebInspector.Resource.prototype.get requestCookies):
1760         (WebInspector.Resource.prototype.set responseHeaders):
1761         (WebInspector.Resource.prototype.get responseCookies):
1762         (WebInspector.Resource.prototype._parseRequestCookies):
1763         (WebInspector.Resource.prototype._parseResponseCookies):
1764         * inspector/front-end/WebKit.qrc:
1765         * inspector/front-end/inspector.html:
1766
1767 2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
1768
1769         Not reviewed.
1770
1771         Fix non-mac builds, by adding the new svg/properties include directory.
1772
1773         * GNUmakefile.am:
1774         * WebCore.gyp/WebCore.gyp:
1775         * WebCore.pro:
1776         * WebCore.vcproj/WebCoreCommon.vsprops:
1777
1778 2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
1779
1780         Reviewed by Adam Roben.
1781
1782         Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty*
1783         https://bugs.webkit.org/show_bug.cgi?id=47973
1784
1785         Prepare fixing bug 47905, redesigning SVGAnimatedProperty. As we're going to move type by type
1786         to the new animated property concept, keep the old one around, marked deprecated, until the
1787         transition is finished.
1788
1789         * GNUmakefile.am:
1790         * WebCore.gypi:
1791         * WebCore.pro:
1792         * WebCore.vcproj/WebCore.vcproj:
1793         * WebCore.xcodeproj/project.pbxproj:
1794         * bindings/scripts/CodeGeneratorObjC.pm:
1795         * bindings/scripts/CodeGeneratorV8.pm:
1796         * svg/DeprecatedSVGAnimatedProperty.h: Copied from svg/SVGAnimatedProperty.h.
1797         (WebCore::DeprecatedSVGAnimatedPropertyTearOff::DeprecatedSVGAnimatedPropertyTearOff):
1798         (WebCore::DeprecatedSVGAnimatedPropertyTearOff::~DeprecatedSVGAnimatedPropertyTearOff):
1799         (WebCore::DeprecatedSVGAnimatedProperty::~DeprecatedSVGAnimatedProperty):
1800         (WebCore::DeprecatedSVGAnimatedProperty::DeprecatedSVGAnimatedProperty):
1801         (WebCore::DeprecatedSVGAnimatedProperty::value):
1802         (WebCore::DeprecatedSVGAnimatedProperty::baseValue):
1803         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Copied from svg/SVGAnimatedPropertyTraits.h.
1804         * svg/DeprecatedSVGAnimatedTemplate.h: Copied from svg/SVGAnimatedTemplate.h.
1805         (WebCore::DeprecatedSVGAnimatedTypeWrapperKey::DeprecatedSVGAnimatedTypeWrapperKey):
1806         (WebCore::DeprecatedSVGAnimatedTypeWrapperKey::operator==):
1807         (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash):
1808         (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::equal):
1809         (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue):
1810         (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue):
1811         (WebCore::DeprecatedSVGAnimatedTemplate::~DeprecatedSVGAnimatedTemplate):
1812         (WebCore::DeprecatedSVGAnimatedTemplate::forgetWrapper):
1813         (WebCore::lookupOrCreateWrapper):
1814         * svg/SVGAnimatedProperty.h: Removed.
1815         * svg/SVGAnimatedPropertySynchronizer.h: Removed.
1816         * svg/SVGAnimatedPropertyTraits.h: Removed.
1817         * svg/SVGAnimatedTemplate.h: Removed.
1818         * svg/SVGElement.h:
1819         * svg/SVGExternalResourcesRequired.h:
1820         * svg/SVGFitToViewBox.h:
1821         * svg/SVGURIReference.h:
1822         * svg/properties: Added.
1823         * svg/properties/SVGAnimatedPropertySynchronizer.h: Copied from svg/SVGAnimatedPropertySynchronizer.h.
1824
1825 2010-10-20  Shinichiro Hamaji  <hamaji@chromium.org>
1826
1827         Reviewed by Kent Tamura.
1828
1829         absolutely positioned list in inline element crashes
1830         https://bugs.webkit.org/show_bug.cgi?id=45095
1831
1832         Add a NULL check to avoid crash. The rendering result isn't ideal yet.
1833
1834         Test: fast/lists/positioned-count-crash.html
1835
1836         * rendering/RenderListItem.cpp:
1837         (WebCore::previousListItem):
1838
1839 2010-10-19  Adam Roben  <aroben@apple.com>
1840
1841         Remove uses of CACFContextRef and CARender* from WebCore
1842
1843         These types are now wrapped in a WKCACFContext type exported by
1844         WebKitSystemInterface.
1845
1846         Fixes <http://webkit.org/b/43244>.
1847
1848         Reviewed by Sam Weinig.
1849
1850         * platform/graphics/win/WKCACFContextFlusher.cpp:
1851         (WebCore::WKCACFContextFlusher::addContext):
1852         (WebCore::WKCACFContextFlusher::removeContext):
1853         (WebCore::WKCACFContextFlusher::flushAllContexts):
1854         * platform/graphics/win/WKCACFContextFlusher.h:
1855         Changed to use WKCACFContext. We don't retain/release the context when
1856         putting it into/taking it out of the set. WKCACFContext is not a
1857         ref-counted type, so we can't retain/release it, but the
1858         retain/release was also unnecessary as WKCACFLayerRenderer calls
1859         removeContext before the context is destroyed.
1860
1861         * platform/graphics/win/WKCACFLayer.cpp:
1862         (WebCore::WKCACFLayer::becomeRootLayerForContext):
1863         * platform/graphics/win/WKCACFLayer.h:
1864         Changed to use WKCACFContext.
1865
1866         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1867         (WebCore::WKCACFLayerRenderer::didFlushContext):
1868         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
1869         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
1870         (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
1871         (WebCore::WKCACFLayerRenderer::createRenderer):
1872         (WebCore::WKCACFLayerRenderer::destroyRenderer):
1873         (WebCore::WKCACFLayerRenderer::render): Also replaced uses of
1874         CGSRegion with WebKitSystemInterface functions/types.
1875         (WebCore::WKCACFLayerRenderer::resetDevice):
1876         * platform/graphics/win/WKCACFLayerRenderer.h:
1877         Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
1878         with a single WKCACFContext, which wraps all three. We hold a bare
1879         pointer to it and destroy it in our destructor.
1880
1881 2010-10-19  Yongjun Zhang  <yongjun_zhang@apple.com>
1882
1883         Reviewed by Dan Bernstein.
1884
1885         Pixel cracks when using background image sprite on transformed element at certain scales.
1886         https://bugs.webkit.org/show_bug.cgi?id=47868
1887
1888         The pixel bleeding happens when the current context has scale and interpolation is kCGInterpolationHigh
1889         or kCGInterpolationDefault.  If the source rect size is smaller than the intrinsic image size,  some
1890         pixels outside of the clip rect will also be used to interpolate the color value for clip edges, which
1891         results in unwanted thin lines around the painted area.  We need to use sub-image patch to get rid of
1892         the artifacts in this case.
1893
1894         Test: fast/images/pixel-crack-image-background-webkit-transform-scale.html
1895
1896         * platform/graphics/cg/ImageCG.cpp:
1897         (WebCore::BitmapImage::draw):
1898
1899 2010-10-19  Evan Martin  <evan@chromium.org>
1900
1901         Reviewed by Tony Chang.
1902
1903         sqlite: remove unused member variable
1904         https://bugs.webkit.org/show_bug.cgi?id=47957
1905
1906         There's no need to save the error code into a member variable
1907         because nobody ever looks at it.
1908
1909         * platform/sql/SQLiteDatabase.cpp:
1910         (WebCore::SQLiteDatabase::open):
1911         * platform/sql/SQLiteDatabase.h:
1912
1913 2010-10-19  Jia Pu  <jpu@apple.com>
1914
1915         Reviewed by James Robinson.
1916
1917         Moving cursor back to autocorrected word in the same line shouldn't remove the underline
1918         https://bugs.webkit.org/show_bug.cgi?id=47629
1919         <rdar://problem/8546758>
1920         
1921         Patch <http://trac.webkit.org/changeset/70071> breaks some Chromium Mac hehavior. This patch
1922         fixes that.
1923
1924         * editing/Editor.cpp:
1925         (WebCore::Editor::respondToChangedSelection): Add "!PLATFORM(MAC)" to make sure nothing changes
1926           on non-Mac platforms.
1927
1928 2010-10-19  Alexey Proskuryakov  <ap@apple.com>
1929
1930         Build fix (EFL, maybe more).
1931
1932         * CMakeLists.txt: Added platform/Language.cpp here, too.
1933
1934 2010-10-19  Jian Li  <jianli@chromium.org>
1935
1936         Reviewed by Darin Fisher.
1937
1938         Rename createBlobURL to createObjectURL and revokeBlobURL to
1939         revokeObjectURL per the latest File API spec.
1940         https://bugs.webkit.org/show_bug.cgi?id=47934
1941
1942         * inspector/front-end/ResourcesPanel.js:
1943         (WebInspector.ResourcesPanel.prototype._contextMenu):
1944         * inspector/front-end/utilities.js:
1945         * page/DOMWindow.cpp:
1946         (WebCore::DOMWindow::createObjectURL):
1947         (WebCore::DOMWindow::revokeObjectURL):
1948         * page/DOMWindow.h:
1949         * page/DOMWindow.idl:
1950         * workers/WorkerContext.cpp:
1951         (WebCore::WorkerContext::createObjectURL):
1952         (WebCore::WorkerContext::revokeObjectURL):
1953         * workers/WorkerContext.h:
1954         * workers/WorkerContext.idl:
1955
1956 2010-10-19  Alexey Proskuryakov  <ap@apple.com>
1957
1958         Reviewed by Anders Carlsson.
1959
1960         https://bugs.webkit.org/show_bug.cgi?id=47933
1961         <rdar://problem/8494337> navigator.language doesn't work in WebKit2
1962
1963         * CMakeListsEfl.txt:
1964         * GNUmakefile.am:
1965         * WebCore.gypi:
1966         * WebCore.pro:
1967         * WebCore.vcproj/WebCore.vcproj:
1968         * WebCore.xcodeproj/project.pbxproj:
1969         * platform/chromium/Language.cpp: Removed.
1970         * platform/chromium/LanguageChromium.cpp: Copied from WebCore/platform/chromium/Language.cpp.
1971         * platform/efl/Language.cpp: Removed.
1972         * platform/efl/LanguageEfl.cpp: Copied from WebCore/platform/efl/Language.cpp.
1973         * platform/gtk/Language.cpp: Removed.
1974         * platform/gtk/LanguageGtk.cpp: Copied from WebCore/platform/gtk/Language.cpp.
1975         * platform/qt/Language.cpp: Removed.
1976         * platform/qt/LanguageQt.cpp: Copied from WebCore/platform/qt/Language.cpp.
1977         * platform/win/Language.cpp: Removed.
1978         * platform/win/LanguageWin.cpp: Copied from WebCore/platform/win/Language.cpp.
1979         * platform/Language.cpp: Added.
1980         Cross platform code is now in platform/Language.cpp. So, I renamed platform files to match
1981         the common pattern.
1982
1983         * WebCore.exp.in: Exported new functions.
1984
1985         * platform/Language.h: Added an ability to force the language, and an ability to set up
1986         listeners for changes (if the platform implements that). Web process will always use the
1987         forced language, as sent to it from UI process.
1988
1989         * platform/mac/Language.mm: Moved code from WebKit.
1990         (WebCore::platformDefaultLanguage): Added code to synchronize user defaults. For some reason,
1991         they come unsynchronized in WebKit2 here, unlike WebKit1.
1992
1993         * page/mac/WebCoreViewFactory.h: Removed defaultLanguageCode. WebCore no longer goes to WebKit
1994         to ask for that.
1995
1996         * platform/mac/WebCoreSystemInterface.h:
1997         * platform/mac/WebCoreSystemInterface.mm:
1998         Added wkCopyCFLocalizationPreferredName().
1999
2000 2010-10-19  James Simonsen  <simonjam@chromium.org>
2001
2002         Reviewed by Adam Barth.
2003
2004         Add "in select" insertion mode to parser.
2005
2006         This was added to the spec in:
2007         http://html5.org/tools/web-apps-tracker?from=5520&to=5522
2008
2009         And as a result of:
2010         http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314
2011
2012         https://bugs.webkit.org/show_bug.cgi?id=47706
2013
2014         No new tests. Open to ideas.
2015
2016         * html/parser/HTMLElementStack.cpp: Added "in select" mode.
2017         (WebCore::HTMLNames::isSelectScopeMarker): Ditto.
2018         (WebCore::HTMLElementStack::inSelectScope): Ditto.
2019         * html/parser/HTMLElementStack.h: Ditto.
2020         * html/parser/HTMLTreeBuilder.cpp:
2021         (WebCore::HTMLTreeBuilder::processStartTag): Use "in select" instead of "in table."
2022         (WebCore::HTMLTreeBuilder::processEndTag): Ditto.
2023
2024 2010-10-19  Jeremy Orlow  <jorlow@chromium.org>
2025
2026         Reviewed by Nate Chapin.
2027
2028         Fix multiple index support in IndexedDB
2029         https://bugs.webkit.org/show_bug.cgi?id=47919
2030
2031         Fix 2 bugs that caused the IndexData of all but the last index to be
2032         properly updated:
2033         * The objectStoreDataId is NOT unique if there are multiple indexes. So
2034           remove the constraint.
2035         * Do not delete all existing entries with that objectStoreDataId before
2036           adding an entry for each index. Only do it once at the beginning.
2037
2038         Test: storage/indexeddb/queued-commands.html
2039             + index-basics.html modified
2040
2041         * storage/IDBFactoryBackendImpl.cpp:
2042         (WebCore::createTables):
2043         * storage/IDBObjectStoreBackendImpl.cpp:
2044         (WebCore::deleteIndexData):
2045         (WebCore::putIndexData):
2046         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2047
2048 2010-10-19  Martin Robinson  <mrobinson@igalia.com>
2049
2050         Fix the GTK+ build after r70072. The logic looks incorrect, but
2051         this fix tries to preserves it, even so.
2052
2053         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2054         (baselinePositionForAccessibilityRenderObject):
2055         (getAttributeSetForAccessibilityObject):
2056
2057 2010-10-06  Jer Noble  <jer.noble@apple.com>
2058
2059         Reviewed by Eric Carlson.
2060
2061         Windows: Implement 'preload=none'
2062         https://bugs.webkit.org/show_bug.cgi?id=47317
2063         <rdar://problem/7718442>
2064         
2065         Implement the 'preload=none' identically to the mac implementation. Add three new
2066         ivars: m_preload, m_delayLoad and m_movieURL; and override the MediaPlayerPrivate
2067         functions: prepareToPlay() and setPreload().
2068
2069         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2070         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
2071             Initialize new ivars m_delayLoad and m_preload.
2072         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::resumeLoad): Added; new.
2073         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Split contents between
2074             load and loadInternal.
2075         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Added; new.
2076         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::prepareToPlay): Added; overrides MediaPlayerPrivate.
2077         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPreload): Added; overrides MediaPlayerPrivate.
2078         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2079         
2080 2010-10-19  Enrica Casucci  <enrica@apple.com>
2081
2082         Reviewed by Alexey Proskuryakov.
2083
2084         Upstream support of KeyCodes for iOS
2085         https://bugs.webkit.org/show_bug.cgi?id=47857
2086         
2087         * platform/cocoa/KeyEventCocoa.mm:
2088         (WebCore::windowsKeyCodeForCharCode): Added special handling of keyCodes for iOS.
2089
2090 2010-10-19  Joseph Pecoraro  <joepeck@webkit.org>
2091
2092         Reviewed by David Kilzer.
2093
2094         iOS: ASSERT in Cache::adjustSize running layout tests
2095         https://bugs.webkit.org/show_bug.cgi?id=47873
2096
2097         Inside Cache::pruneDeadResources we loop over the LRU lists and make resources purgeable
2098         with Cache::makeResourcePurgeable(). This wasn't taking into account whether the resource
2099         was already purgeable or not, and the makeResourcePurgeable call was always calling
2100         adjustSize(). Now we make sure makeResourcePurgable only adjusts the size of the Cache's
2101         dead sizes when it first marks the resource purgeable. Likewise, if a resource is marked
2102         as purgeable and then evicted, we should not adjust the size again.
2103
2104         The balancing call is when we have a resource that has been marked as purgeable and we
2105         successfully mark it as no longer purgeable in Cache::resourceForURL.
2106
2107         No test added because this requires testing purgeable memory.
2108
2109         * loader/Cache.cpp:
2110         (WebCore::Cache::makeResourcePurgeable):
2111         (WebCore::Cache::evict):
2112
2113 2010-10-19  Vangelis Kokkevis  <vangelis@chromium.org>
2114
2115         Reviewed by Kenneth Russell.
2116
2117         [chromium] Disable mipmapping for ImageLayer's to prevent memory use and
2118         performance regression.
2119         https://bugs.webkit.org/show_bug.cgi?id=47913
2120         
2121         This patch is a straight revert of the patch committed with issue 46493
2122
2123         * platform/graphics/chromium/ContentLayerChromium.cpp:
2124         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
2125         (WebCore::ContentLayerChromium::updateTextureRect):
2126         * platform/graphics/chromium/ContentLayerChromium.h:
2127         (WebCore::ContentLayerChromium::SharedValues::initialized):
2128         * platform/graphics/chromium/ImageLayerChromium.cpp:
2129         (WebCore::ImageLayerChromium::updateContents):
2130
2131 2010-10-18  Zhenyao Mo  <zmo@google.com>
2132
2133         Reviewed by Kenneth Russell.
2134
2135         gl-teximage.html fails on chromium webkit mac bot
2136         https://bugs.webkit.org/show_bug.cgi?id=47034
2137
2138         * platform/graphics/GraphicsContext3D.cpp: Deal with endians in 16 bit image data.
2139         (WebCore::convertColor16LittleTo8):
2140         (WebCore::convertColor16BigTo8):
2141         (WebCore::doPacking):
2142         * platform/graphics/GraphicsContext3D.h: Ditto.
2143         * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
2144         (WebCore::GraphicsContext3D::getImageData):
2145
2146 2010-10-19  David Hyatt  <hyatt@apple.com>
2147
2148         Reviewed by Dan Bernstein.
2149
2150         https://bugs.webkit.org/show_bug.cgi?id=47841
2151
2152         Rework baselinePosition and lineHeight to be writing-mode-aware.  There's a lot of refactoring here to clean up
2153         the method parameters to be more readable and to simplify the subclassing of the various methods in order to 
2154         keep the horizontal/vertical querying to a minimum.
2155
2156         * WebCore.xcodeproj/project.pbxproj:
2157         * mathml/RenderMathMLFraction.cpp:
2158         (WebCore::RenderMathMLFraction::baselinePosition):
2159         * mathml/RenderMathMLFraction.h:
2160         * mathml/RenderMathMLOperator.cpp:
2161         (WebCore::RenderMathMLOperator::baselinePosition):
2162         * mathml/RenderMathMLOperator.h:
2163         * mathml/RenderMathMLRow.cpp:
2164         (WebCore::RenderMathMLRow::baselinePosition):
2165         * mathml/RenderMathMLRow.h:
2166         * mathml/RenderMathMLSubSup.cpp:
2167         (WebCore::RenderMathMLSubSup::baselinePosition):
2168         * mathml/RenderMathMLSubSup.h:
2169         * mathml/RenderMathMLUnderOver.cpp:
2170         (WebCore::RenderMathMLUnderOver::layout):
2171         (WebCore::RenderMathMLUnderOver::baselinePosition):
2172         * mathml/RenderMathMLUnderOver.h:
2173         * rendering/InlineBox.h:
2174         (WebCore::InlineBox::baselinePosition):
2175         (WebCore::InlineBox::lineHeight):
2176         * rendering/InlineFlowBox.cpp:
2177         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
2178         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2179         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2180         * rendering/InlineTextBox.cpp:
2181         (WebCore::InlineTextBox::baselinePosition):
2182         (WebCore::InlineTextBox::lineHeight):
2183         * rendering/InlineTextBox.h:
2184         * rendering/RenderBR.cpp:
2185         (WebCore::RenderBR::lineHeight):
2186         * rendering/RenderBR.h:
2187         (WebCore::toRenderBR):
2188         * rendering/RenderBlock.cpp:
2189         (WebCore::RenderBlock::lineHeight):
2190         (WebCore::RenderBlock::baselinePosition):
2191         (WebCore::RenderBlock::firstLineBoxBaseline):
2192         (WebCore::RenderBlock::lastLineBoxBaseline):
2193         (WebCore::RenderBlock::localCaretRect):
2194         * rendering/RenderBlock.h:
2195         * rendering/RenderBlockLineLayout.cpp:
2196         (WebCore::RenderBlock::layoutInlineChildren):
2197         * rendering/RenderBox.cpp:
2198         (WebCore::RenderBox::lineHeight):
2199         (WebCore::RenderBox::baselinePosition):
2200         * rendering/RenderBox.h:
2201         * rendering/RenderBoxModelObject.cpp:
2202         (WebCore::RenderBoxModelObject::verticalPosition):
2203         * rendering/RenderBoxModelObject.h:
2204         * rendering/RenderFileUploadControl.cpp:
2205         (WebCore::RenderFileUploadControl::paintObject):
2206         * rendering/RenderFlexibleBox.cpp:
2207         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
2208         (WebCore::RenderFlexibleBox::layoutVerticalBox):
2209         * rendering/RenderInline.cpp:
2210         (WebCore::RenderInline::lineHeight):
2211         (WebCore::RenderInline::baselinePosition):
2212         * rendering/RenderInline.h:
2213         * rendering/RenderListBox.cpp:
2214         (WebCore::RenderListBox::baselinePosition):
2215         * rendering/RenderListBox.h:
2216         * rendering/RenderListMarker.cpp:
2217         (WebCore::RenderListMarker::lineHeight):
2218         (WebCore::RenderListMarker::baselinePosition):
2219         * rendering/RenderListMarker.h:
2220         * rendering/RenderObject.cpp:
2221         * rendering/RenderObject.h:
2222         * rendering/RenderReplaced.cpp:
2223         * rendering/RenderReplaced.h:
2224         * rendering/RenderSVGRoot.cpp:
2225         * rendering/RenderSVGRoot.h:
2226         * rendering/RenderSlider.cpp:
2227         (WebCore::RenderSlider::baselinePosition):
2228         * rendering/RenderSlider.h:
2229         * rendering/RenderTableCell.cpp:
2230         (WebCore::RenderTableCell::baselinePosition):
2231         * rendering/RenderTableCell.h:
2232         * rendering/RenderTableCol.h:
2233         (WebCore::RenderTableCol::isTableCol):
2234         * rendering/RenderTableRow.h:
2235         * rendering/RenderTableSection.h:
2236         * rendering/RenderText.cpp:
2237         * rendering/RenderText.h:
2238         * rendering/RenderTextControl.cpp:
2239         (WebCore::RenderTextControl::computeLogicalHeight):
2240         * rendering/RenderTextControlMultiLine.cpp:
2241         (WebCore::RenderTextControlMultiLine::baselinePosition):
2242         * rendering/RenderTextControlMultiLine.h:
2243         * rendering/RenderTextControlSingleLine.cpp:
2244         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
2245         * rendering/RootInlineBox.h:
2246         (WebCore::RootInlineBox::baselinePosition):
2247         (WebCore::RootInlineBox::lineHeight):
2248         * rendering/svg/SVGInlineTextBox.cpp:
2249         (WebCore::SVGInlineTextBox::calculateBoundaries):
2250
2251 2010-10-19  Jia Pu  <jpu@apple.com>
2252
2253         Reviewed by Adele Peterson.
2254
2255         Moving cursor back to autocorrected word in the same line shouldn't remove the underline
2256         https://bugs.webkit.org/show_bug.cgi?id=47629
2257         <rdar://problem/8546758>
2258
2259         Tests: platform/mac/editing/spelling/click-autocorrected-word.html
2260                platform/mac/editing/spelling/delete-into-autocorrected-word.html
2261                platform/mac/editing/spelling/delete-into-misspelled-word.html
2262                platform/mac/editing/spelling/forward-delete-into-autocorrected-word.html
2263                platform/mac/editing/spelling/move-cursor-around-misspelled-word.html
2264                platform/mac/editing/spelling/move-cursor-to-autocorrected-word.html
2265                platform/mac/editing/spelling/move-cursor-to-beginning-of-autocorrected-word.html
2266
2267         * editing/Editor.cpp:
2268         (WebCore::Editor::respondToChangedSelection): Don't remove misspelling or autocorrection
2269           underlines when cursor is moved onto a word.
2270
2271 2010-10-19  Eric Carlson  <eric.carlson@apple.com>
2272
2273         Not reviewed. Build fix.
2274
2275         * html/HTMLMediaElement.cpp:
2276         (WebCore::HTMLMediaElement::selectNextSourceChild): Initialize variable to avoid Windows
2277         "potentially uninitialized local variable" warning.
2278
2279 2010-10-19  Eric Carlson  <eric.carlson@apple.com>
2280
2281         Reviewed by Darin Adler.
2282
2283         https://bugs.webkit.org/show_bug.cgi?id=46763
2284         CRASH in WebCore::ThreadTimers::sharedTimerFiredInternal
2285
2286         Fix crashes caused by moving and deleting <source> element(s) of active media element.
2287
2288         Tests: media/video-source-moved.html
2289                media/video-source-removed.html
2290
2291         * html/HTMLMediaElement.cpp:
2292         (WebCore::HTMLMediaElement::HTMLMediaElement): Add logging. Initialize selectNextSourceChild.
2293         (WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto.
2294         (WebCore::HTMLMediaElement::insertedIntoDocument): Ditto.
2295         (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
2296         (WebCore::HTMLMediaElement::scheduleLoad): Ditto.
2297         (WebCore::HTMLMediaElement::setNetworkState): Deal with m_currentSourceNode being null when
2298         the media engine signals a failure by skipping the error message and continuing as usual.
2299         (WebCore::HTMLMediaElement::setVolume): Fix logging typo.
2300         (WebCore::HTMLMediaElement::havePotentialSourceChild): Save and restore m_nextChildNodeToConsider
2301         around call to selectNextSourceChild because they are both significant.
2302         (WebCore::HTMLMediaElement::selectNextSourceChild): Use m_nextChildNodeToConsider to pick
2303         the first node to consider. Bail immediately if it signals that we have already processed 
2304         every <source> node. Stach the node following the current source element in m_nextChildNodeToConsider
2305         so we can resume the search even if m_currentSourceNode is removed while it is being processed.
2306         (WebCore::HTMLMediaElement::sourceWasAdded): New, move logic from HTMLSourceElement::insertedIntoTree
2307         here and correct it to deal with a <source> node being inserted immediately after the
2308         current <source> node and a new <source> node being inserted at the end of the list after
2309         all candidates have failed.
2310         (WebCore::HTMLMediaElement::sourceWillBeRemoved): New, deal with current source node and next
2311         potential node being removed.
2312         * html/HTMLMediaElement.h:
2313         (WebCore::HTMLMediaElement::sourceChildEndOfListValue): New, define sentinal value used to indicate
2314         that all nodes have been processed.
2315
2316         * html/HTMLSourceElement.cpp:
2317         (WebCore::HTMLSourceElement::HTMLSourceElement): Add logging.
2318         (WebCore::HTMLSourceElement::insertedIntoTree): Call mediaElement->sourceWasAdded instead
2319         of having logic here.
2320         (WebCore::HTMLSourceElement::willRemove): New, call mediaElement->sourceWillBeRemoved
2321         (WebCore::HTMLSourceElement::scheduleErrorEvent): Add logging.
2322         (WebCore::HTMLSourceElement::cancelPendingErrorEvent): Add logging.
2323         * html/HTMLSourceElement.h:
2324
2325 2010-10-19  Luiz Agostini  <luiz.agostini@openbossa.org>
2326
2327         Reviewed by Antti Koivisto.
2328
2329         [Qt] WebKit2 MacOS build fix
2330         https://bugs.webkit.org/show_bug.cgi?id=47897
2331
2332         Qt WebKit2 MacOS build fix.
2333
2334         * bridge/npapi.h:
2335
2336 2010-10-19  Philippe Normand  <pnormand@igalia.com>
2337
2338         Reviewed by Xan Lopez.
2339
2340         [GTK] Soup cache code still has some warnings
2341         https://bugs.webkit.org/show_bug.cgi?id=47733
2342
2343         Fixed some compilation warnings happening with gcc 4.4.5 on
2344         64-bits architecture.
2345
2346         * platform/network/soup/cache/webkit/soup-cache.c:
2347         (webkit_soup_cache_entry_set_freshness):
2348         (close_ready_cb):
2349
2350 2010-10-19  Yury Semikhatsky  <yurys@chromium.org>
2351
2352         Reviewed by Pavel Feldman.
2353
2354         Web Inspector: crash while trying to step over a function using inspector
2355         https://bugs.webkit.org/show_bug.cgi?id=47902
2356
2357         * inspector/front-end/ScriptsPanel.js:
2358         (WebInspector.ScriptsPanel.prototype.reset): reset scripts panel to resumed state on navigation.
2359
2360 2010-10-19  Ryuan Choi  <ryuan.choi@samsung.com>
2361
2362         Unreviewed attempt to remove warning in EFL build.
2363
2364         Fix #if to #ifdef.
2365
2366         No new features, so no tests added.
2367
2368         * platform/efl/WidgetEfl.cpp:
2369         (WebCore::Widget::applyFallbackCursor):
2370
2371 2010-10-19  Andreas Kling  <kling@webkit.org>
2372
2373         Reviewed by Tor Arne Vestbø.
2374
2375         [Qt] getImageData returns wrong data for non-0,0 source offset
2376         https://bugs.webkit.org/show_bug.cgi?id=47898
2377
2378         Test: fast/canvas/canvas-getImageData-negative-source.html
2379
2380         * platform/graphics/qt/ImageBufferQt.cpp:
2381         (WebCore::getImageData): Add missing *4's to get correct pixel offset.
2382
2383 2010-10-19  Andreas Kling  <kling@webkit.org>
2384
2385         Reviewed by Kenneth Rohde Christiansen.
2386
2387         [Qt] Correct initial state of ImageBuffer QPen
2388         https://bugs.webkit.org/show_bug.cgi?id=47804
2389
2390         Have the QPen on ImageBuffers start in Qt::SvgMiterJoin mode.
2391
2392         * platform/graphics/qt/ImageBufferQt.cpp:
2393         (WebCore::ImageBufferData::ImageBufferData):
2394
2395 2010-10-19  Philippe Normand  <pnormand@igalia.com>
2396
2397         Reviewed by Martin Robinson.
2398
2399         GStreamer PlatformVideoWindow needs an API to prepare the widget before applying the overlay
2400         https://bugs.webkit.org/show_bug.cgi?id=46790
2401
2402         Simple API addition to PlatformVideoWindow to allow
2403         implementations to optionally prepare their own PlatformWidget
2404         before applying the GStreamer XOverlay to it. This will likely be
2405         needed on Mac OSX only.
2406
2407         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
2408         (WebCore::GStreamerGWorld::setWindowOverlay):
2409         * platform/graphics/gstreamer/PlatformVideoWindow.h:
2410         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
2411         (PlatformVideoWindow::prepareForOverlay):
2412         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
2413         (PlatformVideoWindow::prepareForOverlay):
2414
2415 2010-10-19  Ben Murdoch  <benm@google.com>
2416
2417         Reviewed by Steve Block.
2418
2419         Missing support for document.createTouch and document.createTouchList
2420         https://bugs.webkit.org/show_bug.cgi?id=47676
2421
2422         These APIs are used by many sites to detect support for touch events.
2423
2424         Implement the APIs according to the documentation at:
2425         http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/DocumentAdditionsReference/DocumentAdditions/DocumentAdditions.html
2426
2427         Tests: fast/events/touch/document-create-touch-list.html
2428                fast/events/touch/document-create-touch.html
2429
2430         * bindings/js/JSBindingsAllInOne.cpp: Add new files to list.
2431         * bindings/js/JSTouchCustom.cpp: Added.
2432         (WebCore::toJSNewlyCreated):
2433         * bindings/js/JSTouchListCustom.cpp: Added.
2434         (WebCore::toJSNewlyCreated):
2435         * bindings/scripts/CodeGeneratorJS.pm:
2436         * dom/Document.cpp:
2437         (WebCore::Document::createTouch):
2438         (WebCore::Document::createTouchList):
2439         * dom/Document.h:
2440         * dom/Document.idl: Add createTouch and createTouchList functions.
2441         * Android.jscbindings.mk: Update makefiles.
2442         * CMakeLists.txt: Ditto.
2443         * GNUmakefile.am: Ditto.
2444         * WebCore.gypi: Ditto.
2445         * WebCore.pro: Ditto.
2446
2447
2448 2010-10-19  Pavel Feldman  <pfeldman@chromium.org>
2449
2450         Reviewed by Yury Semikhatsky.
2451
2452         Web Inspector: migrate from legacy Object.properties to Object.keys, remove dead code.
2453         https://bugs.webkit.org/show_bug.cgi?id=47890
2454
2455         * inspector/front-end/ConsoleView.js:
2456         (WebInspector.ConsoleView.prototype._reportCompletions):
2457         * inspector/front-end/ElementsPanel.js:
2458         (WebInspector.ElementsPanel):
2459         * inspector/front-end/ExtensionServer.js:
2460         (WebInspector.ExtensionServer.prototype._onGetResources):
2461         * inspector/front-end/HAREntry.js:
2462         (WebInspector.HARLog.prototype.build):
2463         * inspector/front-end/StylesSidebarPane.js:
2464         (WebInspector.StylePropertyTreeElement.prototype.):
2465         (WebInspector.StylePropertyTreeElement.prototype):
2466         * inspector/front-end/utilities.js:
2467
2468 2010-10-19  Pavel Feldman  <pfeldman@chromium.org>
2469
2470         Reviewed by Yury Semikhatsky.
2471
2472         Web Inspector: do not access ResourcePanel from resources directly.
2473         https://bugs.webkit.org/show_bug.cgi?id=47892
2474
2475         * inspector/front-end/Resource.js:
2476         (WebInspector.Resource.prototype.set documentURL):
2477         (WebInspector.Resource.prototype.set startTime):
2478         (WebInspector.Resource.prototype.set responseReceivedTime):
2479         (WebInspector.Resource.prototype.set endTime):
2480         (WebInspector.Resource.prototype.set resourceSize):
2481         (WebInspector.Resource.prototype.set expectedContentLength):
2482         (WebInspector.Resource.prototype.set category):
2483         (WebInspector.Resource.prototype.set cached):
2484         (WebInspector.Resource.prototype.set mimeType):
2485         (WebInspector.Resource.prototype.get requestHeaders):
2486         (WebInspector.Resource.prototype.set requestHeaders):
2487         (WebInspector.Resource.prototype.get responseHeaders):
2488         (WebInspector.Resource.prototype.set responseHeaders):
2489         * inspector/front-end/ResourcesPanel.js:
2490         (WebInspector.ResourcesPanel.prototype.addResource):
2491         (WebInspector.ResourcesPanel.prototype.refreshResource):
2492         (WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
2493         (WebInspector.ResourcesPanel.prototype._resourceViewIsConsistentWithCategory):
2494         (WebInspector.ResourceGraph):
2495         (WebInspector.ResourceGraph.prototype.refresh):
2496         * inspector/front-end/inspector.js:
2497         (WebInspector.updateResource):
2498
2499 2010-10-19  Yuta Kitamura  <yutak@chromium.org>
2500
2501         Reviewed by Pavel Feldman.
2502
2503         Make sure WebSocket resource has the url field when it is created.
2504
2505         Web Inspector: Uncaught TypeError when connection to WebSocket server is refused
2506         https://bugs.webkit.org/show_bug.cgi?id=47891
2507
2508         * inspector/InspectorResource.cpp:
2509         (WebCore::InspectorResource::createWebSocket):
2510
2511 2010-10-19  Hayato Ito  <hayato@chromium.org>
2512
2513         Reviewed by Darin Adler.
2514
2515         Make CSS style selector non-recursive.
2516         https://bugs.webkit.org/show_bug.cgi?id=43783
2517
2518         This change is one of the required changes to fix the following master bug:
2519         https://bugs.webkit.org/show_bug.cgi?id=42806
2520
2521         To avoid recursion, we prepare a call stack and maintain a list of
2522         function call state by ourselves and try matching iteratively.
2523
2524         Test: fast/css/long-css-selector-matches.html
2525
2526         * css/CSSStyleSelector.cpp:
2527         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2528         (WebCore::CSSStyleSelector::checkSelector):
2529         * css/CSSStyleSelector.h:
2530
2531 2010-10-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2532
2533         Unreviewed, rolling out r70034.
2534         http://trac.webkit.org/changeset/70034
2535         https://bugs.webkit.org/show_bug.cgi?id=47889
2536
2537         "Gustavo's bot is lame" (Requested by xan_ on #webkit).
2538
2539         * platform/network/soup/CookieJarSoup.cpp:
2540         (WebCore::defaultCookieJar):
2541         (WebCore::setCookies):
2542         * platform/network/soup/ResourceHandleSoup.cpp:
2543         (WebCore::ResourceHandle::prepareForURL):
2544         (WebCore::restartedCallback):
2545         (WebCore::startHttp):
2546         * platform/network/soup/ResourceRequestSoup.cpp:
2547         (WebCore::ResourceRequest::toSoupMessage):
2548         (WebCore::ResourceRequest::updateFromSoupMessage):
2549
2550 2010-10-19  Xan Lopez  <xlopez@igalia.com>
2551
2552         Reviewed by Martin Robinson.
2553
2554         [GTK] Bump minimum requirement for libsoup to 2.30
2555         https://bugs.webkit.org/show_bug.cgi?id=46176
2556
2557         Bump minimum required libsoup version to 2.30.
2558
2559         * platform/network/soup/CookieJarSoup.cpp:
2560         (WebCore::defaultCookieJar):
2561         (WebCore::setCookies):
2562         * platform/network/soup/ResourceHandleSoup.cpp:
2563         (WebCore::ResourceHandle::prepareForURL):
2564         (WebCore::restartedCallback):
2565         (WebCore::startHttp):
2566         * platform/network/soup/ResourceRequestSoup.cpp:
2567         (WebCore::ResourceRequest::toSoupMessage):
2568         (WebCore::ResourceRequest::updateFromSoupMessage):
2569
2570 2010-10-19  Xan Lopez  <xlopez@igalia.com>
2571
2572         Reviewed by Martin Robinson.
2573
2574         Fix distcheck, take 2.
2575
2576         * GNUmakefile.am: also move the generated CSS hash files to the
2577         build dir.
2578
2579 2010-10-18  Kent Tamura  <tkent@chromium.org>
2580
2581         Reviewed by Dimitri Glazkov.
2582
2583         Should not save state of a detached form control.
2584         https://bugs.webkit.org/show_bug.cgi?id=47811
2585
2586         Test: fast/forms/state-save-of-detached-control.html
2587
2588         * html/HTMLFormControlElement.cpp:
2589         (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
2590           If the node is detached, don't save the state.
2591
2592 2010-10-18  Xan Lopez  <xlopez@igalia.com>
2593
2594         Reviewed by Martin Robinson.
2595
2596         * GNUmakefile.am: add missing files.
2597
2598 2010-10-18  Oliver Hunt  <oliver@apple.com>
2599
2600         Reviewed by Sam Weinig.
2601
2602         REGRESSION: Feedly extension crashes Webkit
2603         https://bugs.webkit.org/show_bug.cgi?id=45811
2604
2605         The basic problem was the deserializer was holding a pointer into
2606         the constant pool, but if you were sufficiently unlucky then the
2607         constant pool would be moved while still relying on the pointer,
2608         which leads to badness.
2609
2610         I looked at just making all the sites this could happen extract the
2611         right string/jsstring before any possible allocations, but it seemed
2612         too fragile so i've gone for a forwarding object as the solution.
2613
2614         * bindings/js/SerializedScriptValue.cpp:
2615         (WebCore::CloneDeserializer::CachedStringRef::CachedStringRef):
2616         (WebCore::CloneDeserializer::CachedStringRef::operator->):
2617         (WebCore::CloneDeserializer::readStringData):
2618         (WebCore::CloneDeserializer::readFile):
2619         (WebCore::CloneDeserializer::readTerminal):
2620         (WebCore::CloneDeserializer::deserialize):
2621
2622 2010-10-18  Chris Rogers  <crogers@google.com>
2623
2624         Reviewed by Chris Fleizach.
2625
2626         Add AudioResampler files
2627         https://bugs.webkit.org/show_bug.cgi?id=47623
2628
2629         No new tests since audio API is not yet implemented.
2630
2631         * platform/audio/AudioResampler.cpp: Added.
2632         (WebCore::AudioResampler::AudioResampler):
2633         (WebCore::AudioResampler::configureChannels):
2634         (WebCore::AudioResampler::process):
2635         (WebCore::AudioResampler::setRate):
2636         (WebCore::AudioResampler::reset):
2637         * platform/audio/AudioResampler.h: Added.
2638         (WebCore::AudioResampler::~AudioResampler):
2639         (WebCore::AudioResampler::rate):
2640
2641 2010-10-18  Vangelis Kokkevis  <vangelis@chromium.org>
2642
2643         Reviewed by James Robinson.
2644
2645         [chromium] Prevent the creation of very large textures for layers by switching
2646         to "large layer" mode when a texture is larger than some fixed reasonable size
2647         (set to 2000 pixels for now).
2648         https://bugs.webkit.org/show_bug.cgi?id=47751
2649
2650         The code also changes the large layer logic to use the current scissor rect used
2651         by the compositor instead of the visible rect to determine how to clip large layers.
2652         This will provide additional texture savings. In addition, the various layer rects
2653         have been converted to use integers instead of floats to preserve uniformity in the code.
2654         
2655         Tests: Existing large layer layout tests including huge-layer and huge-layer-img
2656
2657         * platform/graphics/chromium/ContentLayerChromium.cpp:
2658         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
2659         (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
2660         * platform/graphics/chromium/LayerChromium.cpp:
2661         (WebCore::LayerChromium::getDrawRect):
2662         * platform/graphics/chromium/LayerChromium.h:
2663         * platform/graphics/chromium/LayerRendererChromium.cpp:
2664         (WebCore::LayerRendererChromium::drawLayers):
2665         (WebCore::LayerRendererChromium::drawLayersRecursive):
2666         (WebCore::LayerRendererChromium::scissorToRect):
2667         * platform/graphics/chromium/LayerRendererChromium.h:
2668         (WebCore::LayerRendererChromium::currentScissorRect):
2669
2670 2010-10-18  Jia Pu  <jpu@apple.com>
2671
2672         Reviewed by Stephanie Lewis.
2673
2674         Correct the description of manual test: autocorrection-cancelled-by-typing-1.html
2675         https://bugs.webkit.org/show_bug.cgi?id=47722
2676         <rdar://problem/8556206>
2677
2678         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Update description
2679           to match the test content.
2680
2681 2010-10-18  Martin Robinson  <mrobinson@igalia.com>
2682
2683         Build fix for newer versions of GTK+ 2.0. Instead of using GDK_DISPLAY()
2684         use GDK_DRAWABLE_XDISPLAY(gdk_display_get_default()). GDK_DISPLAY() was
2685         recently deprecated and the latter method has been available since GTK+
2686         2.2.
2687
2688         * plugins/gtk/PluginViewGtk.cpp:
2689         (WebCore::PluginView::updatePluginWidget):
2690         (WebCore::PluginView::paint):
2691         (WebCore::PluginView::initXEvent):
2692         (WebCore::PluginView::platformGetValue):
2693         (WebCore::getVisualAndColormap):
2694         (WebCore::PluginView::platformStart):
2695         (WebCore::PluginView::platformDestroy):
2696
2697 2010-10-18  Ryosuke Niwa  <rniwa@webkit.org>
2698
2699         Reviewed by Adam Barth.
2700
2701         elementCannotHaveEndTag should be a member function of MarkupAccumulator
2702         https://bugs.webkit.org/show_bug.cgi?id=47846
2703
2704         Moved elementCannotHaveEndTag into MarkupAccumulator.
2705
2706         No new tests are added since this is a cleanup.
2707
2708         * editing/MarkupAccumulator.cpp:
2709         (WebCore::MarkupAccumulator::elementCannotHaveEndTag): Added.
2710         * editing/MarkupAccumulator.h: Added MarkupAccumulator::elementCannotHaveEndTag.
2711         * editing/markup.cpp: Removed elementCannotHaveEndTag.
2712         * editing/markup.h: Removed elementCannotHaveEndTag.
2713
2714 2010-10-18  Johnny Ding  <jnd@chromium.org>
2715
2716         Reviewed by Adam Barth.
2717
2718         Set the right referent sourceURL for the script with force user gesture.
2719         https://bugs.webkit.org/show_bug.cgi?id=37138
2720
2721         Because empty sourceURL indicates running script with force user gesture,
2722         make WebKit use document.url() as referent sourceURL (Since it uses blank
2723         URL instead empty if the input URL is empty) if WebKit isn't running the
2724         script from a hyper-link.
2725
2726         Test: fast/events/popup-blocked-from-window-open.html
2727
2728         * bindings/ScriptControllerBase.cpp:
2729         (WebCore::ScriptController::executeScript):
2730         * bindings/js/ScriptController.cpp:
2731         (WebCore::ScriptController::executeScriptInWorld):
2732
2733 2010-10-18  Darin Adler  <darin@apple.com>
2734
2735         * dom/Node.h: Fix ancient typo in just-modified comment.
2736
2737 2010-10-18  Darin Adler  <darin@apple.com>
2738
2739         Reviewed by Alexey Proskuryakov.
2740
2741         Remove some functions from class Node and make a few others non-virtual
2742         https://bugs.webkit.org/show_bug.cgi?id=47735
2743
2744         Refactoring. No new tests.
2745
2746         * bindings/js/JSNodeCustom.cpp:
2747         (WebCore::JSNode::markChildren): Added a FIXME about the use of the virtual
2748         ownerDocument function.
2749
2750         * dom/ContainerNode.cpp:
2751         (WebCore::ContainerNode::removeChildren): Removed the unused return value.
2752
2753         * dom/ContainerNode.h: Made insertBefore, replaceChild, removeChild, and
2754         appendChild non-virtual for clarity and performance. Made removeChildren
2755         non-virtual and removed its return value. Moved the inline Node functions
2756         that call through to ContainerNode into this file since the old way involved
2757         an extra level of inline function but otherwise had no advantages.
2758
2759         * dom/Element.h: Moved isMathMLElement here because there is no call site
2760         that needs to call it on a Node*. We can always move it back if we need to,
2761         but it's better to have less in the Node class.
2762
2763         * dom/Node.cpp:
2764         (WebCore::Node::insertBefore): Added an isContainerNode check so this can
2765         be non-virtual. There are very few callers who call this function on Node.
2766         If we want to optimize them further we can make the isContainerNode check
2767         inline in the future.
2768         (WebCore::Node::replaceChild): Ditto.
2769         (WebCore::Node::removeChild): Ditto.
2770         (WebCore::Node::appendChild): Ditto.
2771         (WebCore::Node::remove): Removed unneeded ref/unref because
2772         ContainerNode::removeChild already does this.
2773         (WebCore::Node::createRendererIfNeeded): Removed #if around call to
2774         childShouldCreateRenderer since it's needed even without SVG and XHTMLMP.
2775
2776         * dom/Node.h: Moved definitions of inline functions that depend on
2777         ContainerNode to the ContainerNode.h header. They already required inclusion
2778         of that header, so there is no functional change. Made insertBefore,
2779         replaceChild, removeChild, and appendChild non-virtual. There are very few
2780         callers of these functions on this class. Moved isMathMLElement to Element.
2781         Added a FIXME about the name of eventAncestors. Fixed comment formatting.
2782         Eliminated unused isEditableBlock function. Moved the body of the
2783         enclosingInlineElement function to the editing file that was the only
2784         call site. Removed the previousEditable and nextEditable functions,
2785         incorporating their bodies into the one place they were called.
2786         Took the childShouldCreateRenderer function out of #if since it's
2787         now used by the implementation of the <noscript> element.
2788
2789         * dom/Position.cpp:
2790         (WebCore::nextRenderedEditable): Rewrote the function to use nextLeafNode
2791         instead of nextEditable.
2792         (WebCore::previousRenderedEditable): Rewrote the function to use
2793         previousLeafNode instead of previousEditable.
2794
2795         * editing/ReplaceSelectionCommand.cpp:
2796         (WebCore::enclosingInline): Moved function here from the Node class. Also
2797         fixed an incorrect cast this function did, which assumed the function
2798         result was always an element, which the function does not guarantee.
2799         (WebCore::ReplaceSelectionCommand::doApply): Call the function above.
2800
2801         * history/HistoryItem.cpp: Added include of MathExtras.h.
2802
2803 2010-10-18  Yongjun Zhang  <yongjun_zhang@apple.com>
2804
2805         Reviewed by Darin Adler.
2806
2807         Missing support for document.createEvent("OrientationEvent")
2808         https://bugs.webkit.org/show_bug.cgi?id=32492
2809
2810         Add support for document.createEvent("OrientationEvent") to help unit testing of
2811         onOrientationChange event.
2812
2813         Test: fast/dom/DeviceOrientation/create-event-onorientationchange.html
2814
2815         * dom/Document.cpp:
2816         (WebCore::Document::createEvent):
2817
2818 2010-10-18  Jeremy Orlow  <jorlow@chromium.org>
2819
2820         Reviewed by Darin Adler.
2821
2822         DOMStringList should return null if the index is out of range
2823         https://bugs.webkit.org/show_bug.cgi?id=47829
2824
2825         When item() returns a null string, it needs to be passed to JS as
2826         null. The indexed getter will then magically do the right thing.
2827         So all that's left is having DOMStringList::item() return null when
2828         the index is out of bounds.
2829
2830         * dom/DOMStringList.cpp:
2831         (WebCore::DOMStringList::item):
2832         * dom/DOMStringList.h:
2833         * dom/DOMStringList.idl:
2834
2835 2010-10-18  Girish Ramakrishnan  <girish@forwardbias.in>
2836
2837         Reviewed by Ariya Hidayat.
2838
2839         [Qt] Implement Accelerated Composition for NPAPI Plugins.
2840
2841         https://bugs.webkit.org/show_bug.cgi?id=35524
2842
2843         * plugins/PluginView.h:
2844         (WebCore::PluginView::platformLayer):
2845         * plugins/qt/PluginViewQt.cpp:
2846         (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
2847         (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
2848         (WebCore::PluginGraphicsLayerQt::paint):
2849         (WebCore::PluginView::updatePluginWidget):
2850         (WebCore::PluginView::paint):
2851         (WebCore::PluginView::invalidateRect):
2852         (WebCore::PluginView::invalidateRegion):
2853         (WebCore::PluginView::platformStart):
2854         (WebCore::PluginView::platformLayer):
2855
2856 2010-10-18  Stuart Morgan  <stuartmorgan@chromium.org>
2857
2858         Reviewed by Eric Seidel.
2859
2860         Switch to using the new Carbon NPAPI event declarations, and remove
2861         the old ones.
2862
2863         https://bugs.webkit.org/show_bug.cgi?id=40784
2864
2865         * bridge/npapi.h:
2866         * plugins/mac/PluginViewMac.mm:
2867         (WebCore::PluginView::setFocus):
2868         (WebCore::PluginView::handleMouseEvent):
2869
2870 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
2871
2872         Reviewed by Yury Semikhatsky.
2873
2874         Web Inspector: comment out resource manager instantiation on front-end side.
2875         https://bugs.webkit.org/show_bug.cgi?id=47823
2876
2877         * inspector/front-end/inspector.js:
2878
2879 2010-10-18  Andrei Popescu  <andreip@google.com>
2880
2881         Reviewed by Jeremy Orlow.
2882
2883         The description parameter of IDBFactory::open() should be mandatory.
2884         https://bugs.webkit.org/show_bug.cgi?id=47835
2885
2886         Makes the description parameter mandatory, as per the IndexedDatabase specification.
2887         Modified existing tests to cover this change.
2888
2889         * storage/IDBDatabaseBackendImpl.cpp:
2890         (WebCore::extractMetaData):
2891         (WebCore::setMetaData):
2892         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
2893         * storage/IDBFactory.cpp:
2894         (WebCore::IDBFactory::open):
2895         * storage/IDBFactory.h:
2896         * storage/IDBFactory.idl:
2897
2898 2010-10-18  Xiaomei Ji  <xji@chromium.org>
2899
2900         Reviewed by David Levin.
2901
2902         Code cleanup: Move most function members in TextRunWorker from inlined.
2903         https://bugs.webkit.org/show_bug.cgi?id=47732
2904
2905         No functionality change, so no tests added.
2906
2907         * platform/graphics/chromium/FontLinux.cpp:
2908         (WebCore::TextRunWalker::setWordSpacingAdjustment):
2909         (WebCore::TextRunWalker::setLetterSpacingAdjustment):
2910         (WebCore::TextRunWalker::setXOffsetToZero):
2911         (WebCore::TextRunWalker::rtl):
2912         (WebCore::TextRunWalker::glyphs):
2913         (WebCore::TextRunWalker::length):
2914         (WebCore::TextRunWalker::xPositions):
2915         (WebCore::TextRunWalker::advances):
2916         (WebCore::TextRunWalker::width):
2917         (WebCore::TextRunWalker::logClusters):
2918         (WebCore::TextRunWalker::numCodePoints):
2919         (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
2920         (WebCore::TextRunWalker::isCodepointSpace):
2921         (WebCore::TextRunWalker::TextRunWalker):
2922         (WebCore::TextRunWalker::~TextRunWalker):
2923         (WebCore::TextRunWalker::isWordBreak):
2924         (WebCore::TextRunWalker::setPadding):
2925         (WebCore::TextRunWalker::reset):
2926         (WebCore::TextRunWalker::setBackwardsIteration):
2927         (WebCore::TextRunWalker::nextScriptRun):
2928         (WebCore::TextRunWalker::widthOfFullRun):
2929         (WebCore::TextRunWalker::getTextRun):
2930         (WebCore::TextRunWalker::getNormalizedTextRun):
2931         (WebCore::TextRunWalker::setupFontForScriptRun):
2932         (WebCore::TextRunWalker::allocHarfbuzzFont):
2933         (WebCore::TextRunWalker::deleteGlyphArrays):
2934         (WebCore::TextRunWalker::createGlyphArrays):
2935         (WebCore::TextRunWalker::resetGlyphArrays):
2936         (WebCore::TextRunWalker::shapeGlyphs):
2937         (WebCore::TextRunWalker::setGlyphXPositions):
2938         (WebCore::TextRunWalker::mirrorCharacters):
2939
2940 2010-10-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
2941
2942         Reviewed by Andreas Kling.
2943
2944         [Qt] AC rendering bugs
2945         There were a few missing connections in Qt AC between GraphicsLayer and plugins, like changing the plugin's geometry to the layer's
2946         contentsRect, and making sure media layers handle ParentChange events and setContentsNeedsDisplay. Now media layers behave correctly.
2947
2948         https://bugs.webkit.org/show_bug.cgi?id=47571
2949
2950         No new tests. This is in preparation for fixing AC+plugins, which already has tests that don't work yet with Qt.
2951
2952         * platform/graphics/qt/GraphicsLayerQt.cpp:
2953         (WebCore::GraphicsLayerQtImpl::flushChanges):
2954         (WebCore::GraphicsLayerQt::setContentsNeedsDisplay):
2955         * platform/graphics/qt/GraphicsLayerQt.h:
2956
2957 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
2958
2959         Reviewed by Simon Fraser.
2960
2961         Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
2962         https://bugs.webkit.org/show_bug.cgi?id=46224
2963
2964         * CMakeLists.txt:
2965         * GNUmakefile.am:
2966         * WebCore.gypi:
2967         * WebCore.pro:
2968         * WebCore.vcproj/WebCore.vcproj:
2969         * WebCore.xcodeproj/project.pbxproj:
2970         * inspector/InspectorClient.cpp: Added.
2971         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
2972         * inspector/InspectorClient.h:
2973         (WebCore::InspectorClient::InspectorClient):
2974
2975 2010-10-18  Andrei Popescu  <andreip@google.com>
2976
2977         Reviewed by Jeremy Orlow.
2978
2979         IDBKeyTree.h is no longer used.
2980         https://bugs.webkit.org/show_bug.cgi?id=47824
2981
2982         No new tests, just removing unused files.
2983
2984         * WebCore.gypi:
2985         * WebCore.xcodeproj/project.pbxproj:
2986         * storage/IDBKeyTree.h: Removed.
2987
2988 2010-10-18  Andreas Kling  <kling@webkit.org>
2989
2990         Unreviewed buildfix for Qt + V8.
2991         Add missing <wtf/text/CString.h> include.
2992
2993         * inspector/InspectorInstrumentation.cpp:
2994
2995 2010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>
2996
2997         Reviewed by Yury Semikhatsky.
2998
2999         Web Inspector: toJSON serialization for Numbers should be fixed.
3000         DecimalNumber is used instead of printf.
3001
3002         https://bugs.webkit.org/show_bug.cgi?id=43832
3003
3004         * inspector/InspectorValues.cpp:
3005         (WebCore::InspectorBasicValue::writeJSON):
3006
3007 2010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>
3008
3009         Reviewed by Yury Semikhatsky.
3010
3011         Web Inspector: [REGRESSION] Inspector window visible during run-webkit-tests.
3012         The initial state of an inspector setting should stay untouched
3013         if the profile has no value for it.
3014
3015         https://bugs.webkit.org/show_bug.cgi?id=47785
3016
3017         * inspector/InspectorState.cpp:
3018         (WebCore::InspectorState::loadFromSettings):
3019
3020 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
3021
3022         Reviewed by Yury Semikhatsky.
3023
3024         Web Inspector: tab headers on resource panel are 1px off on Mac.
3025         https://bugs.webkit.org/show_bug.cgi?id=47798
3026
3027         * inspector/front-end/inspector.css:
3028         (.tabbed-pane-header li):
3029
3030 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
3031
3032         Not reviewed. Build fix.
3033
3034         * inspector/InspectorResourceAgent.cpp:
3035         (WebCore::cachedResourceTypeString):
3036
3037 2010-10-17  Pavel Feldman  <pfeldman@chromium.org>
3038
3039         Reviewed by Yury Semikhatsky.
3040
3041         Web Inspector: Introduce InspectorResourceAgent.h/cpp and ResourceManager.js to
3042         fill network panel with data.
3043         https://bugs.webkit.org/show_bug.cgi?id=47779
3044         
3045         InspectorResourceAgent instance / JS part are introduced in this patch. Agent's lifetime is equal
3046         to the front-end's. This new resource agent does not have state, instead it covers two functions:
3047          1) forwards loader client messages to the front-end 2) is capable of building a tree of cached resources.
3048         (1) feeds network panel with data, (2) shows the resource tree in the new ResourcesPanel concept.
3049         This bug is for extracting this new InspectorResourceAgent class and its javascript counterpart.
3050         Once resources panel is refactored for the new concept, InspectorResource, InspectorController's
3051         resource-related routines, inspector.js's code dealing with resources, they all will be gone.
3052
3053         * WebCore.gypi:
3054         * WebCore.vcproj/WebCore.vcproj:
3055         * inspector/CodeGeneratorInspector.pm:
3056         * inspector/Inspector.idl:
3057         * inspector/InspectorApplicationCacheAgent.cpp:
3058         (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
3059         * inspector/InspectorController.cpp:
3060         (WebCore::InspectorController::connectFrontend):
3061         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
3062         (WebCore::InspectorController::didCommitLoad):
3063         (WebCore::InspectorController::frameDetachedFromParent):
3064         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
3065         (WebCore::InspectorController::identifierForInitialRequest):
3066         (WebCore::InspectorController::willSendRequest):
3067         (WebCore::InspectorController::markResourceAsCached):
3068         (WebCore::InspectorController::didReceiveResponse):
3069         (WebCore::InspectorController::didReceiveContentLength):
3070         (WebCore::InspectorController::didFinishLoading):
3071         (WebCore::InspectorController::didFailLoading):
3072         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
3073         (WebCore::InspectorController::scriptImported):
3074         (WebCore::InspectorController::didCreateWebSocket):
3075         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
3076         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
3077         (WebCore::InspectorController::didCloseWebSocket):
3078         * inspector/InspectorController.h:
3079         * inspector/InspectorResource.cpp:
3080         (WebCore::InspectorResource::updateResponse):
3081         (WebCore::cachedResourceType):
3082         (WebCore::InspectorResource::type):
3083         (WebCore::InspectorResource::sourceString):
3084         (WebCore::InspectorResource::sourceBytes):
3085         (WebCore::InspectorResource::endTiming):
3086         * inspector/InspectorResourceAgent.cpp:
3087         (WebCore::InspectorResourceAgent::resourceContent):
3088         (WebCore::InspectorResourceAgent::resourceContentBase64):
3089         (WebCore::InspectorResourceAgent::resourceData):
3090         (WebCore::InspectorResourceAgent::cachedResource):
3091         (WebCore::buildObjectForHeaders):
3092         (WebCore::buildObjectForTiming):
3093         (WebCore::buildObjectForResourceRequest):
3094         (WebCore::buildObjectForResourceResponse):
3095         (WebCore::buildObjectForMainResource):
3096         (WebCore::cachedResourceTypeString):
3097         (WebCore::buildObjectForCachedResource):
3098         (WebCore::buildObjectForFrameResources):
3099         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
3100         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
3101         (WebCore::InspectorResourceAgent::willSendRequest):
3102         (WebCore::InspectorResourceAgent::markResourceAsCached):
3103         (WebCore::InspectorResourceAgent::didReceiveResponse):
3104         (WebCore::InspectorResourceAgent::didReceiveContentLength):
3105         (WebCore::InspectorResourceAgent::didFinishLoading):
3106         (WebCore::InspectorResourceAgent::didFailLoading):
3107         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3108         (WebCore::InspectorResourceAgent::setOverrideContent):
3109         (WebCore::InspectorResourceAgent::didCommitLoad):
3110         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
3111         (WebCore::createReadableStringFromBinary):
3112         (WebCore::InspectorResourceAgent::didCreateWebSocket):
3113         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
3114         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
3115         (WebCore::InspectorResourceAgent::didCloseWebSocket):
3116         (WebCore::InspectorResourceAgent::cachedResources):
3117         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3118         * inspector/InspectorResourceAgent.h:
3119         (WebCore::InspectorResourceAgent::create):
3120         * inspector/InspectorStyleSheet.cpp:
3121         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
3122         * inspector/front-end/ExtensionServer.js:
3123         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
3124         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
3125         * inspector/front-end/Resource.js:
3126         (WebInspector.Resource.prototype.get responseReceivedTime):
3127         (WebInspector.Resource.prototype.set endTime):
3128         * inspector/front-end/Settings.js:
3129         * inspector/front-end/SourceView.js:
3130         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
3131         * inspector/front-end/WebKit.qrc:
3132         * inspector/front-end/inspector.css:
3133         (.tabbed-pane-header li):
3134         * inspector/front-end/inspector.html:
3135         * inspector/front-end/inspector.js:
3136         (WebInspector.updateResource):
3137         * loader/ResourceLoadNotifier.cpp:
3138         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3139         * loader/appcache/ApplicationCacheGroup.cpp:
3140         (WebCore::ApplicationCacheGroup::didReceiveResponse):
3141
3142 2010-10-16  Pavel Feldman  <pfeldman@chromium.org>
3143
3144         Reviewed by Yury Semikhatsky.
3145
3146         Web Inspector: brush up URL parsing on the front-end.
3147         https://bugs.webkit.org/show_bug.cgi?id=47772
3148
3149         * inspector/InspectorResource.cpp:
3150         (WebCore::InspectorResource::updateScriptObject):
3151         * inspector/front-end/AuditRules.js:
3152         (WebInspector.AuditRules.getDomainToResourcesMap):
3153         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
3154         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
3155         (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
3156         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
3157         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
3158         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
3159         * inspector/front-end/CookieItemsView.js:
3160         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
3161         * inspector/front-end/DOMAgent.js:
3162         (WebInspector.Cookies.cookieMatchesResourceURL):
3163         * inspector/front-end/Resource.js:
3164         (WebInspector.Resource):
3165         (WebInspector.Resource.prototype.set url):
3166         (WebInspector.Resource.prototype.get displayName):
3167         * inspector/front-end/ResourceCategory.js:
3168         (WebInspector.ResourceCategory.prototype.addResource):
3169         * inspector/front-end/ResourceView.js:
3170         (WebInspector.ResourceView):
3171         * inspector/front-end/inspector.js:
3172         (WebInspector.documentClick.followLink):
3173         (WebInspector.documentClick):
3174         (WebInspector.updateResource):
3175         (WebInspector.linkifyStringAsFragment):
3176         (WebInspector.resourceURLForRelatedNode):
3177         (WebInspector.completeURL):
3178         * inspector/front-end/utilities.js:
3179         (String.prototype.asParsedURL):
3180
3181 2010-10-17  Andreas Kling  <kling@webkit.org>
3182
3183         Reviewed by Kenneth Rohde Christiansen.
3184
3185         [Qt] Support custom open() verbs/methods in XMLHttpRequest
3186         https://bugs.webkit.org/show_bug.cgi?id=40476
3187
3188         Fall back to QNetworkAccessManager::CustomOperation for any HTTP verb
3189         that's not specifically supported by QNetworkAccessManager.
3190
3191         This prevents the infinite loop that otherwise occurs after sending
3192         an UnknownOperation request.
3193
3194         This change is covered by existing (skipped) tests that will be
3195         unskipped once the Qt bots are running Qt 4.7.
3196
3197         * platform/network/qt/QNetworkReplyHandler.cpp:
3198         (WebCore::QNetworkReplyHandler::httpMethod):
3199         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3200         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3201         * platform/network/qt/QNetworkReplyHandler.h:
3202
3203 2010-10-17  Adam Barth  <abarth@webkit.org>
3204
3205         Reviewed by Dimitri Glazkov.
3206
3207         Remove explicit passing of user gesture in NavigationScheduler
3208         https://bugs.webkit.org/show_bug.cgi?id=47786
3209
3210         As requested by Mr. Glazkov, remove more explicit passing of the user
3211         gesture state.  We now use a static to pass this information around.
3212
3213         * bindings/generic/BindingFrame.h:
3214         (WebCore::::navigateIfAllowed):
3215         * bindings/js/JSDOMWindowCustom.cpp:
3216         (WebCore::JSDOMWindow::setLocation):
3217         * bindings/js/JSLocationCustom.cpp:
3218         (WebCore::JSLocation::reload):
3219         * bindings/v8/custom/V8LocationCustom.cpp:
3220         (WebCore::V8Location::reloadCallback):
3221         * inspector/InspectorController.cpp:
3222         (WebCore::InspectorController::setResourceTrackingEnabled):
3223         (WebCore::InspectorController::reloadPage):
3224         * loader/NavigationScheduler.cpp:
3225         (WebCore::ScheduledNavigation::ScheduledNavigation):
3226         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
3227         (WebCore::ScheduledRedirect::ScheduledRedirect):
3228         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
3229         (WebCore::ScheduledRefresh::ScheduledRefresh):
3230         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
3231         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
3232         (WebCore::NavigationScheduler::scheduleRedirect):
3233         (WebCore::NavigationScheduler::mustLockBackForwardList):
3234         (WebCore::NavigationScheduler::scheduleLocationChange):
3235         (WebCore::NavigationScheduler::scheduleFormSubmission):
3236         (WebCore::NavigationScheduler::scheduleRefresh):
3237         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
3238         * loader/NavigationScheduler.h:
3239         * loader/SubframeLoader.cpp:
3240         (WebCore::SubframeLoader::loadOrRedirectSubframe):
3241
3242 2010-10-17  Julien Chaffraix  <jchaffraix@codeaurora.org>
3243
3244         Reviewed by Andreas Kling.
3245
3246         'transparent' should be a valid color
3247         https://bugs.webkit.org/show_bug.cgi?id=45482
3248
3249         Test: svg/animations/svg-animate-color-transparent.svg
3250
3251         Based on previous work by Jan Erik Hanssen  <jhanssen@codeaurora.org>
3252
3253         * platform/ColorData.gperf: Added 'transparent' to the list of colors.
3254         Added the alpha to all the colors as it was needed to support the new color.
3255
3256         * platform/graphics/Color.cpp:
3257         (WebCore::Color::Color):
3258         (WebCore::Color::setNamedColor): Avoid setting the alpha as now it is not
3259         always 0xFF.
3260
3261 2010-10-17  Justin Schuh  <jschuh@chromium.org>
3262
3263         Reviewed by Nikolas Zimmermann.
3264
3265         Duplicate use element children in shadow tree.
3266         https://bugs.webkit.org/show_bug.cgi?id=47561
3267
3268         Test: svg/custom/use-nested-children.svg
3269
3270         * svg/SVGUseElement.cpp:
3271         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
3272
3273 2010-10-17  Hyung Song  <beergun@company100.net>
3274
3275         Reviewed by David Levin.
3276
3277         Add !SINGLE_THREADED guard.
3278         https://bugs.webkit.org/show_bug.cgi?id=47608
3279
3280         For SINGLE_THREADED ports LockingMutex.tryLock() returns false.
3281         This will prevent interrupt() from falling into infinite loop.
3282
3283         * platform/sql/SQLiteDatabase.cpp:
3284         (WebCore::SQLiteDatabase::interrupt):
3285
3286 2010-10-17  Simon Fraser  <simon.fraser@apple.com>
3287
3288         Reviewed by Nikolas Zimmermann.
3289
3290         Very large and small numbers fail to round-trip through CSS
3291         https://bugs.webkit.org/show_bug.cgi?id=20674
3292         
3293         Use the new DecimalNumber functionality to convert CSS numberic values to strings
3294         using decimal notation, rather than %g (which can output scientific notation).
3295
3296         Test: fast/css/round-trip-values.html
3297
3298         * css/CSSPrimitiveValue.cpp:
3299         (WebCore::formatNumber):
3300         (WebCore::CSSPrimitiveValue::cssText):
3301
3302 2010-10-17  Cosmin Truta  <ctruta@chromium.org>
3303
3304         Reviewed by Nikolas Zimmermann.
3305
3306         Crash while processing ill-formed SVG with cycles
3307         https://bugs.webkit.org/show_bug.cgi?id=47498
3308
3309         Test: svg/custom/invalid-paint-shape-mask.svg
3310
3311         * rendering/SVGResources.cpp:
3312         (paintingResourceFromSVGPaint): Ensured that the painting resource is
3313         either a pattern resource or a gradient resource.
3314         (SVGResources::setClipper):
3315         (SVGResources::setFilter):
3316         (SVGResources::setMarkerStart):
3317         (SVGResources::setMarkerMid):
3318         (SVGResources::setMarkerEnd):
3319         (SVGResources::setMasker):
3320         (SVGResources::setFill):
3321         (SVGResources::setStroke): Added ASSERT statements for previously-unchecked
3322         preconditions.
3323
3324 2010-10-17  Alex Milowski  <alex@milowski.com>
3325
3326         Reviewed by Kenneth Rohde Christiansen.
3327
3328         Fixed extra whitespace above operators when they aren't stretched
3329         yet the stretch height is large.  Also, the baseline alignment
3330         was changed so that rows and operators interact appropriately now
3331         that operators don't have the extra white space.
3332
3333         * mathml/RenderMathMLOperator.cpp:
3334         * mathml/RenderMathMLRow.cpp:
3335
3336 2010-10-17  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3337
3338         Reviewed by Antonio Gomes.
3339
3340         [Qt] Fix focusing of control elements on mouse click.
3341         Brings GTK fix to Qt platform.
3342         https://bugs.webkit.org/show_bug.cgi?id=40641
3343                         
3344         Test: fast/events/click-focus-control.html
3345
3346         * html/HTMLFormControlElement.cpp:
3347         (WebCore::HTMLFormControlElement::isMouseFocusable):
3348
3349 2010-10-17  Adam Barth  <abarth@webkit.org>
3350
3351         Reviewed by Dimitri Glazkov.
3352
3353         FrameLoader doesn't need an explicit userGesture parameter
3354         https://bugs.webkit.org/show_bug.cgi?id=47777
3355
3356         We used to pass around the user gesture state explicitly.  Now we use
3357         static state.  Explicitly passing the user gesture state to FrameLoader
3358         in these methods is pretty out-dated.
3359
3360         * bindings/ScriptControllerBase.cpp:
3361         (WebCore::ScriptController::executeIfJavaScriptURL):
3362         * bindings/generic/BindingDOMWindow.h:
3363         (WebCore::::createWindow):
3364         (WebCore::::open):
3365         * bindings/js/JSDOMWindowCustom.cpp:
3366         (WebCore::createWindow):
3367         (WebCore::JSDOMWindow::open):
3368         * bindings/js/JSDocumentCustom.cpp:
3369         (WebCore::JSDocument::setLocation):
3370         * bindings/js/ScriptController.h:
3371         * bindings/v8/ScriptController.h:
3372         * html/HTMLAnchorElement.cpp:
3373         (WebCore::handleLinkClick):
3374         * inspector/InspectorController.cpp:
3375         (WebCore::InspectorController::openInInspectedWindow):
3376         * loader/FrameLoader.cpp:
3377         (WebCore::FrameLoader::changeLocation):
3378         (WebCore::FrameLoader::urlSelected):
3379         (WebCore::FrameLoader::submitForm):
3380         * loader/FrameLoader.h:
3381         * loader/NavigationScheduler.cpp:
3382         (WebCore::ScheduledURLNavigation::fire):
3383         (WebCore::ScheduledRefresh::fire):
3384         (WebCore::ScheduledHistoryNavigation::fire):
3385         (WebCore::NavigationScheduler::scheduleLocationChange):
3386
3387 2010-10-17  Sergey A. Sukiyazov  <sergey.sukiyazov@gmail.com>
3388
3389         Reviewed by Andreas Kling
3390
3391         [Qt] Hovering the mouse over links produce a trail of underlined links (X11 paint engine)
3392         https://bugs.webkit.org/show_bug.cgi?id=42248
3393
3394         The problem will appear because coordinates of points may increase by 0.05f (if line width is odd) inside
3395         method GraphicsContext::adjustLineToPixelBoundaries(...) and become outside of text bounding rect htere,
3396         then the new point coordinates will be passed to Qt graphics engine.
3397
3398         The solution decreases Y cordinates of points inside drawLineForText(...) method only if Qt graphics engine
3399         is X11. The Y coordinates will be increase by 0.5f inside method adjustLineToPixelBoundaries(...),  which
3400         called from drawLine(...), and then inside Qt painting engine will be rounded to next greater integer value.
3401
3402         NOTE: This changes will affect only Qt X11 verision and if only X11 Painting Engine will be used.
3403
3404         No new tests.
3405
3406         * platform/graphics/qt/GraphicsContextQt.cpp:
3407         (WebCore::GraphicsContext::drawLineForText):
3408
3409 2010-10-17  Rob Buis  <rwlbuis@gmail.com>
3410
3411         Reviewed by Dirk Schulze.
3412
3413         Text under nested link dropped
3414         https://bugs.webkit.org/show_bug.cgi?id=46460
3415
3416         Allow links inside of tspan and textPath elements.
3417
3418         * svg/SVGTSpanElement.cpp:
3419         (WebCore::SVGTSpanElement::childShouldCreateRenderer):
3420         * svg/SVGTextPathElement.cpp:
3421         (WebCore::SVGTextPathElement::childShouldCreateRenderer):
3422
3423 2010-10-16  Kwang Yul Seo  <skyul@company100.net>
3424
3425         Reviewed by Kent Tamura.
3426
3427         [BREWMP] Port TextCodec
3428         https://bugs.webkit.org/show_bug.cgi?id=45797
3429
3430         Implement TextCodec with Brew MP's ICharsetConv.
3431         Only UTF-8 is supported for now.
3432
3433         * platform/text/TextEncoding.cpp:
3434         (WebCore::TextEncoding::encode):
3435         * platform/text/TextEncodingRegistry.cpp:
3436         (WebCore::buildBaseTextCodecMaps):
3437         * platform/text/brew/TextCodecBrew.cpp: Added.
3438         (WebCore::newTextCodecBrew):
3439         (WebCore::TextCodecBrew::registerBaseEncodingNames):
3440         (WebCore::TextCodecBrew::registerBaseCodecs):
3441         (WebCore::TextCodecBrew::registerExtendedEncodingNames):
3442         (WebCore::TextCodecBrew::registerExtendedCodecs):
3443         (WebCore::TextCodecBrew::TextCodecBrew):
3444         (WebCore::TextCodecBrew::~TextCodecBrew):
3445         (WebCore::TextCodecBrew::decode):
3446         (WebCore::TextCodecBrew::encode):
3447         * platform/text/brew/TextCodecBrew.h: Added.
3448
3449 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
3450
3451         Unreviewed.
3452
3453         Build fix for !ENABLE(INSPECTOR) after r69844.
3454
3455         * inspector/InspectorState.h: Added ENABLE(INSPECTOR) guard.
3456
3457 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
3458
3459         Unreviewed, build fix.
3460
3461         WinCE build fix for r69798.
3462
3463         * platform/text/wince/TextCodecWinCE.cpp: Added missing include.
3464
3465 2010-10-16  Johnny Ding  <jnd@chromium.org>
3466
3467         Reviewed by Adam Barth.
3468
3469         Requires a user gesture when opening file choose dialog.
3470         https://bugs.webkit.org/show_bug.cgi?id=47593
3471
3472         Test: fast/forms/input-file-not-open-without-gesture.html
3473
3474         * rendering/RenderFileUploadControl.cpp:
3475         (WebCore::RenderFileUploadControl::click):
3476
3477 2010-10-16  Alex Milowski  <alex@milowski.com>
3478
3479         Reviewed by Kenneth Rohde Christiansen.
3480
3481         Changed the vertical alignment within mfenced to baseline to
3482         match the rest of the containers (e.g. mrow) and adjusted the
3483         operator spacing to 0.1em.
3484
3485         Test: mathml/presentation/fenced-mi.xhtml
3486
3487         * css/mathml.css:
3488         * mathml/RenderMathMLFenced.cpp:
3489
3490 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
3491
3492         Reviewed by Adam Barth.
3493
3494         Rename StringHasherFunctions.h to StringHasher.h
3495         https://bugs.webkit.org/show_bug.cgi?id=47200
3496
3497         * ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
3498         * ForwardingHeaders/wtf/StringHasher.h: Copied from WebCore/ForwardingHeaders/wtf/StringHashFunctions.h. 
3499  
3500 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
3501
3502         Reviewed by Darin Adler.
3503
3504         unlink removes inline style of anchor elements
3505         https://bugs.webkit.org/show_bug.cgi?id=47424
3506
3507         The bug was caused by our not extracting styles when the anchor element is removed by removeInlineStyle.
3508         Because we removed the element without pushing its inline style down, we lost style information.
3509
3510         Fixed the bug by pushing down styles in removeInlineStyle as done in pushDownInlineStyleAroundNode.
3511         Also fixed a bug in addInlineStyleIfNeeded where StyleChange incorrectly removed styles of the container
3512         node as supposed to that of startNode from the style to apply when startNode is not an element.
3513
3514         Test: editing/execCommand/toggle-unlink.html
3515
3516         * editing/ApplyStyleCommand.cpp:
3517         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): To prevent a similar bug in the future,
3518         added an assert that extractedStyle is specified whenever we're removing a styled element.
3519         (WebCore::ApplyStyleCommand::removeInlineStyle):
3520         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3521
3522 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
3523
3524         Reviewed by Tony Chang.
3525
3526         serializeNodesWithNamespaces should be in MarkupAccumulator
3527         https://bugs.webkit.org/show_bug.cgi?id=47749
3528
3529         Moved serializeNodesWithNamespaces to MarkupAccumulator, and renamed it to serializeNodes.
3530         MarkupAccumulator::serializeNode now returns the resultant string instead of having a separate takeResults().
3531         Added several helper functions to MarkupAccumulator.
3532
3533         No new tests are added since this is a cleanup.
3534
3535         * editing/MarkupAccumulator.cpp:
3536         (WebCore::MarkupAccumulator::serializeNodes): Wrapper for serializeNodes and concatenateMarkup.
3537         (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Moved from markup.cpp
3538         (WebCore::MarkupAccumulator::appendStartTag): Calls appendString instead of appending into m_succeedingMarkup directly.
3539         (WebCore::MarkupAccumulator::appendEndTag): Ditto.
3540         (WebCore::MarkupAccumulator::totalLength): Added; extracted from takeResults.
3541         (WebCore::MarkupAccumulator::concatenateMarkup): Ditto.
3542         * editing/MarkupAccumulator.h:
3543         (WebCore::MarkupAccumulator::length): Added; calls totalLength.
3544         * editing/markup.cpp:
3545         (WebCore::StyledMarkupAccumulator::appendString): Added; calls MarkupAccumulator's appendString.
3546         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendString.
3547         (WebCore::StyledMarkupAccumulator::takeResults): Calls length, totalLength, and concatenateMarkup.
3548         (WebCore::StyledMarkupAccumulator::serializeNodes): Became a member function.
3549         (WebCore::createMarkup): Uses MarkupAccumulator.
3550
3551 2010-10-15  Kinuko Yasuda  <kinuko@google.com>
3552
3553         Reviewed by Jian Li.
3554
3555         Implement FileEntrySync.file() in FileSystem API
3556         https://bugs.webkit.org/show_bug.cgi?id=47310
3557
3558         Tests: fast/filesystem/workers/file-from-file-entry-sync.html
3559                fast/filesystem/workers/file-from-file-entry.html
3560
3561         * fileapi/DOMFileSystem.cpp:
3562         (WebCore::DOMFileSystem::createFile): Added.
3563         * fileapi/DOMFileSystem.h:
3564         * fileapi/DOMFileSystemSync.cpp:
3565         (WebCore::DOMFileSystemSync::createFile): Added.
3566         * fileapi/DOMFileSystemSync.h:
3567         * fileapi/DirectoryReaderBase.h: Added 'virtual path' comment.
3568         * fileapi/EntryBase.h: Added 'virtual path' comment.
3569         * fileapi/FileEntry.cpp:
3570         (WebCore::FileEntry::file): Changed to use DOMFileSystem::createFile.
3571         * fileapi/FileEntrySync.cpp:
3572         (WebCore::FileEntrySync::file): Implemented.
3573         * fileapi/FileEntrySync.h:
3574         * fileapi/FileEntrySync.idl: Added file().
3575
3576 2010-10-15  Nico Weber  <thakis@chromium.org>
3577
3578         Reviewed by Eric Carlson.
3579
3580         Make sure to update the current graphics context when calling out to AppKit.
3581         https://bugs.webkit.org/show_bug.cgi?id=47757
3582
3583         Like r57741, but for the spellchecking highlight
3584
3585         * platform/graphics/mac/GraphicsContextMac.mm:
3586         (WebCore::GraphicsContext::drawLineForTextChecking):
3587
3588 2010-10-15  Brian Weinstein  <bweinstein@apple.com>
3589
3590         Reviewed by Sam Weinig.
3591
3592         REGRESSION(r69850) Loading apple.com/startpage in WebKit on Windows gets a bad request.
3593         https://bugs.webkit.org/show_bug.cgi?id=47753
3594         <rdar://problem/8558242>
3595         
3596         r69850 switched over to a different way of concatenating WebCore strings, but ran into an issue
3597         where some Windows calls were returning null terminated strings, and this breaks the new
3598         method of concatenation.
3599         
3600         GetLocaleInfo returns a null-terminated string, but WebCore strings are non-null terminated,
3601         so once we create our WebCore string, we want to trim off the null terminating character before
3602         we return the localeInfo.
3603
3604         Test: fast/dom/navigator-userAgent.html
3605
3606         * platform/win/Language.cpp:
3607         (WebCore::localeInfo):
3608
3609 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
3610
3611         Trying to fix crashes on Leopard buildbot.
3612
3613         * loader/loader.cpp:
3614         (WebCore::Loader::Host::didFinishLoading):
3615         (WebCore::Loader::Host::didFail):
3616         Moved logging higher in the function - it seems that CachedResource can be already destroyed.
3617
3618         * platform/Logging.cpp: (WebCore::getChannelFromName):
3619         * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
3620         Initialize the new channel (oops).
3621
3622 2010-10-15  Mike Lawther  <mikelawther@chromium.org>
3623
3624         Reviewed by James Robinson.
3625
3626         Prevent scrollbars from appearing in iframes with scrolling=no
3627         when the embedded content has overflow:scroll set on the html
3628         or body tags.
3629
3630         iframes keep getting scrollbars with scrolling="no"
3631         https://bugs.webkit.org/show_bug.cgi?id=29240
3632
3633         Test: fast/frames/iframe-scrolling-attribute-overflowscroll.html
3634
3635         * page/FrameView.cpp:
3636         (WebCore::FrameView::calculateScrollbarModesForLayout)
3637         (WebCore::FrameView::updateCanHaveScrollbars):
3638         (WebCore::FrameView::layout):
3639         * page/FrameView.h:
3640         (WebCore::FrameView::calculateScrollbarModesForLayout)
3641
3642 2010-10-15  Dan Bernstein  <mitz@apple.com>
3643
3644         Reviewed by Adele Peterson.
3645
3646         Clean up RenderFlexibleBox::applyLineClamp()
3647         https://bugs.webkit.org/show_bug.cgi?id=47743
3648
3649         * rendering/RenderFlexibleBox.cpp:
3650         (WebCore::RenderFlexibleBox::applyLineClamp):
3651
3652 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
3653
3654         Reviewed by Darin Adler.
3655
3656         https://bugs.webkit.org/show_bug.cgi?id=47736
3657         <rdar://problem/8429396> WebCore cache gets corrupted if revalidation request starts at an inopportune time
3658
3659         Test: http/tests/cache/stopped-revalidation.html
3660
3661         * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): Copied logic for
3662         revalidation requests from didFail().
3663
3664 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
3665
3666         Reviewed by Darin Adler in <https://bugs.webkit.org/show_bug.cgi?id=47736>.
3667
3668         Add a logging channel for WebCore cache and resource loading.
3669
3670         Test: http/tests/cache/stopped-revalidation.html
3671
3672         * platform/Logging.cpp:
3673         * platform/Logging.h:
3674         Added a logging channel for Cache and Loader.
3675
3676         * loader/Cache.cpp:
3677         (WebCore::Cache::requestResource):
3678         (WebCore::Cache::revalidateResource):
3679         (WebCore::Cache::revalidationFailed):
3680         (WebCore::Cache::evict):
3681         * loader/CachedResource.cpp:
3682         (WebCore::CachedResource::setResourceToRevalidate):
3683         (WebCore::CachedResource::switchClientsToRevalidatedResource):
3684         (WebCore::CachedResource::mustRevalidate):
3685         Added logging.
3686
3687         * loader/loader.cpp:
3688         (WebCore::Loader::load): Added logging.
3689         (WebCore::Loader::scheduleServePendingRequests): Ditto.
3690         (WebCore::Loader::requestTimerFired): Ditto.
3691         (WebCore::Loader::servePendingRequests): Ditto.
3692         (WebCore::Loader::Host::servePendingRequests):  Changed logging to use the new channel.
3693         (WebCore::Loader::Host::didFinishLoading): Changed logging to use the new channel.
3694         (WebCore::Loader::Host::didFail): Added logging.
3695
3696 2010-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
3697
3698         Reviewed by Simon Fraser.
3699
3700         Add public functions to serialize TransformOperations.
3701         https://bugs.webkit.org/show_bug.cgi?id=47728
3702
3703         Added public accessors to the internal data of the TransformOperations.
3704
3705         No new tests. These functions are enablers for WebKit2.
3706
3707         * platform/graphics/transforms/Matrix3DTransformOperation.h:
3708         (WebCore::Matrix3DTransformOperation::matrix):
3709         * platform/graphics/transforms/MatrixTransformOperation.h:
3710         (WebCore::MatrixTransformOperation::matrix):
3711         * platform/graphics/transforms/PerspectiveTransformOperation.h:
3712         (WebCore::PerspectiveTransformOperation::perspective):
3713         * platform/graphics/transforms/RotateTransformOperation.h:
3714         (WebCore::RotateTransformOperation::x):
3715         (WebCore::RotateTransformOperation::y):
3716         (WebCore::RotateTransformOperation::z):
3717         * platform/graphics/transforms/SkewTransformOperation.h:
3718         (WebCore::SkewTransformOperation::angleX):
3719         (WebCore::SkewTransformOperation::angleY):
3720         * platform/graphics/transforms/TranslateTransformOperation.h:
3721         (WebCore::TranslateTransformOperation::x):
3722         (WebCore::TranslateTransformOperation::y):
3723         (WebCore::TranslateTransformOperation::z):
3724
3725 2010-10-15  Jian Li  <jianli@chromium.org>
3726
3727         Reviewed by Dmitry Titov.
3728
3729         FileReader.readAsDataURL should take Blob object
3730         https://bugs.webkit.org/show_bug.cgi?id=47679
3731
3732         Test cases have been added into read-blob-test-cases.js.
3733
3734         * fileapi/FileReader.idl: Update per the latest File API spec.
3735
3736 2010-10-15  Adam Barth  <abarth@webkit.org>
3737
3738         Reviewed by Eric Seidel.
3739
3740         Move MarkupAccumulator from markup.cpp to its own file
3741         https://bugs.webkit.org/show_bug.cgi?id=47734
3742
3743         This patch moves the MarkupAccumulator class into its own file.
3744         There's a lot of clean up left to do, but this patch is a step in the
3745         right direction.
3746
3747         No behavior change.
3748
3749         * Android.mk:
3750         * CMakeLists.txt:
3751         * GNUmakefile.am:
3752         * WebCore.gypi:
3753         * WebCore.pro:
3754         * WebCore.vcproj/WebCore.vcproj:
3755         * WebCore.xcodeproj/project.pbxproj:
3756         * editing/markup.cpp:
3757         (WebCore::elementCannotHaveEndTag):
3758         * editing/markup.h:
3759         * editing/MarkupAccumulator.h: Added.
3760         * editing/MarkupAccumulator.cpp: Added.
3761
3762 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
3763
3764         Reviewed by Darin Adler.
3765
3766         Match the elements supported by execCommand('formatBlock') and queryCommandValue('formatBlock')
3767         https://bugs.webkit.org/show_bug.cgi?id=47712
3768
3769         Extended queryCommandValue('formatBlock', false, null) to support article, aside, blockquote, dd, dl,
3770         div, dl, dt, dl, footer, header, hgroup, nav, and section. Because this makes isElementForFormatBlockCommand
3771         in Editor.cpp and FormatBlockCommand::isElementToApplyInFormatBlockCommand identical, they are merged and moved
3772         to FormatBlockCommand.cpp
3773
3774         Tests are added to editing/execCommand/query-format-block.html
3775
3776         * editing/Editor.cpp: Removed isElementForFormatBlockCommand and Editor::elementForFormatBlockCommand.
3777         * editing/Editor.h:
3778         * editing/EditorCommand.cpp:
3779         (WebCore::executeFormatBlock): Removed the check of tag name; the check is moved into FormatBlockCommand.
3780         (WebCore::valueFormatBlock): Calls FormatBlockCommand::elementForFormatBlockCommand.
3781         * editing/FormatBlockCommand.cpp:
3782         (WebCore::isElementForFormatBlock):
3783         (WebCore::FormatBlockCommand::FormatBlockCommand):
3784         (WebCore::FormatBlockCommand::formatSelection): Added to check the tag name. Exit early if the specified tag name
3785         is not what FormatBlock should apply. Set m_didApply true if m_didApply did apply the element.
3786         (WebCore::FormatBlockCommand::formatRange): Moved from Editor.cpp.  Takes Range* instead of accessing selection directly.
3787         (WebCore::FormatBlockCommand::elementForFormatBlockCommand): Moved from Editor.cpp
3788         (WebCore::enclosingBlockToSplitTreeTo): Calls isElementForFormatBlock.
3789         * editing/FormatBlockCommand.h:
3790         (WebCore::FormatBlockCommand::didApply): Added.
3791
3792 2010-10-15  Dirk Schulze  <krit@webkit.org>
3793
3794         Reviewed by Nikolas Zimmermann.
3795
3796         carto.net Dock example redraws *way* too often
3797         https://bugs.webkit.org/show_bug.cgi?id=16090
3798
3799         Setting the attributes x, y, width or height shouldn't cause a repaint if the image boundaries don't change.
3800         Added updateFromElement() to RenderSVGImage that checks if the old boundaries match the new boundaries after
3801         setting one of the attributes of above. Mark renderer for layout (and therefore repaint) if the boundaries
3802         differ, do nothing if not.
3803         Also added caching of the repaint rect to avoid multiple calculations.
3804
3805         Test: svg/custom/repaint-on-constant-size-change.svg
3806
3807         * rendering/RenderSVGImage.cpp:
3808         (WebCore::RenderSVGImage::RenderSVGImage):
3809         (WebCore::RenderSVGImage::layout): Update repaint rect on layout.
3810         (WebCore::RenderSVGImage::updateFromElement): Check SVGImageElement for boundaries update.
3811         * rendering/RenderSVGImage.h:
3812         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): Return the cached repaint rect.
3813         * svg/SVGImageElement.cpp:
3814         (WebCore::SVGImageElement::svgAttributeChanged): Call updateFromElement() on changes to x, y, width or height.
3815
3816 2010-10-15  Martin Robinson  <mrobinson@igalia.com>
3817
3818         Build fix for GTK+.
3819
3820         * platform/network/soup/cache/webkit/soup-cache.h: Do not use PLATFORM(...) macro
3821         in a file that does not include config.h
3822
3823 2010-10-15  Anders Carlsson  <andersca@apple.com>
3824
3825         Reviewed by Sam Weinig.
3826
3827         Add FindIndicatorWindow class
3828         https://bugs.webkit.org/show_bug.cgi?id=47731
3829
3830         Export symbols needed by the FindIndicator in WebKit2.
3831
3832         * WebCore.exp.in:
3833
3834 2010-10-15  Leandro Pereira  <leandro@profusion.mobi>
3835
3836         [EFL] Unreviewed. Build fix.
3837
3838         Add new files needed by the Soup network backend, and #ifdef a
3839         GTK+-port only include in soup-cache.h.
3840
3841         * CMakeListsEfl.txt:
3842         * platform/network/soup/cache/webkit/soup-cache.h:
3843
3844 2010-10-14  Darin Adler  <darin@apple.com>
3845
3846         Reviewed by Alexey Proskuryakov.
3847
3848         Use more specific types for node pointers, especially when calling node insertion and removal functions
3849         https://bugs.webkit.org/show_bug.cgi?id=47702
3850
3851         Refactoring. No new tests.
3852
3853         While developing this patch I temporarily removed the node insertion and
3854         removal member functions from the Node class and fixed almost all call sites
3855         so they call it directly on the ContainerNode class, which will be important
3856         once we make the functions non-virtual.
3857
3858         * css/CSSStyleSelector.cpp:
3859         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
3860         * dom/ContainerNode.cpp:
3861         (WebCore::ContainerNode::insertBefore):
3862         (WebCore::ContainerNode::replaceChild):
3863         (WebCore::ContainerNode::appendChild):
3864         * dom/Document.cpp:
3865         (WebCore::Document::caretRangeFromPoint):
3866         * dom/DynamicNodeList.cpp:
3867         (WebCore::DynamicNodeList::itemWithName):
3868         * dom/Position.cpp:
3869         (WebCore::Position::previous):
3870         (WebCore::Position::next):
3871         * dom/Text.cpp:
3872         (WebCore::Text::replaceWholeText):
3873         * dom/TreeWalker.cpp:
3874         (WebCore::TreeWalker::firstChild):
3875         (WebCore::TreeWalker::lastChild):
3876         (WebCore::TreeWalker::previousNode):
3877         * dom/XMLDocumentParserLibxml2.cpp:
3878         (WebCore::XMLDocumentParser::XMLDocumentParser):
3879         * editing/BreakBlockquoteCommand.cpp:
3880         (WebCore::BreakBlockquoteCommand::doApply):
3881         * editing/CompositeEditCommand.h:
3882         * editing/DeleteButtonController.cpp:
3883         (WebCore::isDeletableElement):
3884         * editing/IndentOutdentCommand.cpp:
3885         (WebCore::IndentOutdentCommand::outdentParagraph):
3886         * editing/InsertNodeBeforeCommand.cpp:
3887         (WebCore::InsertNodeBeforeCommand::doApply):
3888         * editing/JoinTextNodesCommand.cpp:
3889         (WebCore::JoinTextNodesCommand::doApply):
3890         (WebCore::JoinTextNodesCommand::doUnapply):
3891         * editing/MergeIdenticalElementsCommand.cpp:
3892         (WebCore::MergeIdenticalElementsCommand::doUnapply):
3893         * editing/RemoveNodeCommand.cpp:
3894         (WebCore::RemoveNodeCommand::doApply):
3895         (WebCore::RemoveNodeCommand::doUnapply):
3896         * editing/RemoveNodeCommand.h:
3897         * editing/SplitElementCommand.cpp:
3898         (WebCore::SplitElementCommand::executeApply):
3899         * editing/SplitTextNodeCommand.cpp:
3900         (WebCore::SplitTextNodeCommand::doApply):
3901         (WebCore::SplitTextNodeCommand::doReapply):
3902         * editing/TextIterator.cpp:
3903         (WebCore::parentCrossingShadowBoundaries):
3904         * editing/htmlediting.cpp:
3905         (WebCore::enclosingList):
3906         * editing/markup.cpp:
3907         (WebCore::serializeNodes):
3908         (WebCore::ancestorToRetainStructureAndAppearance):
3909         (WebCore::createMarkup):
3910         * html/HTMLAreaElement.cpp:
3911         (WebCore::HTMLAreaElement::updateFocusAppearance):
3912         * html/HTMLEmbedElement.cpp:
3913         (WebCore::HTMLEmbedElement::rendererIsNeeded):
3914         * html/HTMLFormElement.cpp:
3915         (WebCore::HTMLFormElement::rendererIsNeeded):
3916         * html/HTMLFrameSetElement.cpp:
3917         (WebCore::HTMLFrameSetElement::attach):
3918         * html/HTMLImageElement.cpp:
3919         (WebCore::HTMLImageElement::insertedIntoTree):
3920         * html/HTMLLegendElement.cpp:
3921         (WebCore::HTMLLegendElement::associatedControl):
3922         * html/HTMLOptGroupElement.cpp:
3923         (WebCore::HTMLOptGroupElement::recalcSelectOptions):
3924         (WebCore::HTMLOptGroupElement::ownerSelectElement):
3925         * html/HTMLOptionElement.cpp:
3926         (WebCore::HTMLOptionElement::ownerSelectElement):
3927         * html/HTMLTableCellElement.cpp:
3928         (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
3929         * html/HTMLTableColElement.cpp:
3930         (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
3931         * html/HTMLTableElement.cpp:
3932         (WebCore::HTMLTableElement::insertRow):
3933         * html/HTMLTableRowElement.cpp:
3934         (WebCore::HTMLTableRowElement::rowIndex):
3935         * html/HTMLTableSectionElement.cpp:
3936         (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
3937         * page/DOMSelection.cpp:
3938         (WebCore::DOMSelection::getRangeAt):
3939         (WebCore::DOMSelection::containsNode):
3940         * rendering/RenderSVGGradientStop.cpp:
3941         (WebCore::RenderSVGGradientStop::gradientElement):
3942         * svg/SVGElement.cpp:
3943         (WebCore::SVGElement::ownerSVGElement):
3944         (WebCore::SVGElement::viewportElement):
3945         * svg/SVGFELightElement.cpp:
3946         (WebCore::SVGFELightElement::svgAttributeChanged):
3947         (WebCore::SVGFELightElement::childrenChanged):
3948         * svg/SVGFEMergeNodeElement.cpp:
3949         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
3950         * svg/SVGFontFaceFormatElement.cpp:
3951         (WebCore::SVGFontFaceFormatElement::childrenChanged):
3952         * svg/SVGFontFaceUriElement.cpp:
3953         (WebCore::SVGFontFaceUriElement::childrenChanged):
3954         * svg/SVGGlyphElement.cpp:
3955         (WebCore::SVGGlyphElement::invalidateGlyphCache):
3956         * svg/SVGHKernElement.cpp:
3957         (WebCore::SVGHKernElement::insertedIntoDocument):
3958         (WebCore::SVGHKernElement::removedFromDocument):
3959         * svg/SVGLocatable.cpp:
3960         (WebCore::SVGLocatable::nearestViewportElement):
3961         (WebCore::SVGLocatable::farthestViewportElement):
3962         * svg/SVGUseElement.cpp:
3963         (WebCore::SVGUseElement::updateContainerOffsets):
3964         * svg/SVGVKernElement.cpp:
3965         (WebCore::SVGVKernElement::insertedIntoDocument):
3966         (WebCore::SVGVKernElement::removedFromDocument):
3967         * svg/animation/SVGSMILElement.cpp:
3968         (WebCore::SVGSMILElement::targetElement):
3969         * wml/WMLDoElement.cpp:
3970         (WebCore::WMLDoElement::insertedIntoDocument):
3971         (WebCore::WMLDoElement::removedFromDocument):
3972         * wml/WMLNoopElement.cpp:
3973         (WebCore::WMLNoopElement::insertedIntoDocument):
3974         * wml/WMLOptionElement.cpp:
3975         (WebCore::ownerSelectElement):
3976         * wml/WMLPostfieldElement.cpp:
3977         (WebCore::WMLPostfieldElement::insertedIntoDocument):
3978         (WebCore::WMLPostfieldElement::removedFromDocument):
3979         * wml/WMLSetvarElement.cpp:
3980         (WebCore::WMLSetvarElement::insertedIntoDocument):
3981         (WebCore::WMLSetvarElement::removedFromDocument):
3982         * wml/WMLTaskElement.cpp:
3983         (WebCore::WMLTaskElement::insertedIntoDocument):
3984         (WebCore::WMLTaskElement::removedFromDocument):
3985         * wml/WMLTimerElement.cpp:
3986         (WebCore::WMLTimerElement::insertedIntoDocument):
3987         (WebCore::WMLTimerElement::removedFromDocument):
3988         * xml/XPathStep.cpp:
3989         (WebCore::XPath::Step::nodesInAxis):
3990         Use ContainerNode* for the result of the parentNode function now that
3991         it returns a ContainerNode*. In the past it used to return just Node*.
3992
3993         * dom/ContainerNode.h: Added toContainerNode.
3994
3995         * dom/Element.h: Use ContainerNode*. Added toElement.
3996
3997         * dom/Element.cpp:
3998         (WebCore::Element::deprecatedCreateContextualFragment): Explcitly
3999         cast to HTMLElement* in the case that handles <html> and <body>
4000         elements.
4001         (WebCore::Element::baseURI): Use ContainerNode*.
4002
4003         * dom/Node.cpp:
4004         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Use ContainerNode*.
4005         (WebCore::Node::isDescendantOf): Ditto.
4006         (WebCore::Node::createRendererIfNeeded): Ditto.
4007         (WebCore::Node::setTextContent): Use already-typecast pointer in a call to
4008         appendChild.
4009         (WebCore::Node::ancestorElement): Use ContainerNode*.
4010
4011         * dom/Range.cpp:
4012         (WebCore::Range::compareNode): Use ContainerNode*.
4013         (WebCore::Range::intersectsNode): Ditto.
4014         (WebCore::Range::processContents): Cast to ContainerNode* in a couple cases
4015         where we previously checked that the node in question has a child. Any node
4016         that returns a non-zero value for firstChild is a ContainerNode.
4017         (WebCore::Range::checkNodeBA): Ditto.
4018         (WebCore::Range::selectNode): Ditto.
4019         (WebCore::Range::surroundContents): Ditto.
4020
4021         * dom/XMLDocumentParser.cpp:
4022         (WebCore::XMLDocumentParser::insertErrorMessageBlock): Rewrote code to use
4023         more specific types, document instead of doc, and paragraph instead of par.
4024
4025         * editing/ApplyStyleCommand.cpp:
4026         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
4027         Use ContainerNode*.
4028         (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
4029         Use replaceElementWithSpanPreservingChildrenAndAttributes; the old function
4030         took a Node argument and had Node in its name.
4031
4032         * editing/CompositeEditCommand.cpp:
4033         (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Use ContainerNode.
4034         (WebCore::CompositeEditCommand::replaceElementWithSpanPreservingChildrenAndAttributes):
4035         Renamed and changed to take HTMLElement. Also use ContainerNode.
4036         (WebCore::CompositeEditCommand::prune): Ditto.
4037         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
4038         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Ditto.
4039
4040         * editing/ReplaceNodeWithSpanCommand.cpp:
4041         (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): Take an
4042         HTMLElement instead of a Node. Call it m_elementToReplace instead of m_node.
4043         (WebCore::swapInNodePreservingAttributesAndChildren): Take HTMLElement.
4044         (WebCore::ReplaceNodeWithSpanCommand::doApply): Updated for name changes.
4045         (WebCore::ReplaceNodeWithSpanCommand::doUnapply): Ditto.
4046         * editing/ReplaceNodeWithSpanCommand.h: Ditto.
4047
4048         * editing/ReplaceSelectionCommand.cpp:
4049         (WebCore::ReplacementFragment::ReplacementFragment): Use StyledElement for result
4050         of insertFragmentForTestRendering since that's what it returns.
4051         (WebCore::ReplacementFragment::removeNode): Use ContainerNode.
4052         (WebCore::ReplacementFragment::insertNodeBefore): Ditto.
4053         (WebCore::ReplacementFragment::insertFragmentForTestRendering): Return StyledElement.
4054         Use HTMLElement for body.
4055         (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment): Take
4056         StyledElement.
4057         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Use ContainerNode.
4058         (WebCore::ReplaceSelectionCommand::copyStyleToChildren): Use HTMLElement for
4059         the cloned span, since the clone will be a sspan too.
4060         (WebCore::ReplaceSelectionCommand::insertAsListItems): Use ContainerNode since
4061         the list item has a child, and that proves it is a ContainerNode.
4062
4063         * editing/SelectionController.cpp:
4064         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
4065         Use ContainerNode and also removed an unnneded local variable.
4066
4067         * html/HTMLElement.cpp:
4068         (WebCore::HTMLElement::setOuterText): Use ContainerNode.
4069         (WebCore::HTMLElement::insertAdjacent): Use ContainerNode and also use && to make
4070         the logic a little simpler.
4071         (WebCore::contextElementForInsertion): Use ContainerNode.
4072         (WebCore::HTMLElement::findFormAncestor): Ditto.
4073
4074         * inspector/InspectorDOMAgent.cpp:
4075         (WebCore::InspectorDOMAgent::removeNode): Use ContainerNode.
4076         (WebCore::InspectorDOMAgent::changeTagName): Ditto.
4077         (WebCore::InspectorDOMAgent::setOuterHTML): Ditto.
4078         (WebCore::InspectorDOMAgent::innerParentNode): Use isDocumentNode instead of
4079         nodeType. We should almost never use nodeType inside the engine.
4080         (WebCore::InspectorDOMAgent::didInsertDOMNode): Use ContainerNode.
4081         (WebCore::InspectorDOMAgent::didRemoveDOMNode): Ditto.
4082
4083         * wml/WMLOptGroupElement.cpp: Removed unneeded overrides of insertBefore,
4084         replaceChild, removeChild, appendChild, and removeChildren functions.
4085         Ths already overrides childrenChanged, that is called by all of the above,
4086         and it does the same thing these functions did.
4087         (WebCore::ownerSelectElement): Use ContainerNode.
4088         * wml/WMLOptGroupElement.h: Ditto.
4089
4090 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
4091
4092         Reviewed by Darin Adler.
4093
4094         Crash in WebCore::ApplyStyleCommand::applyBlockStyle
4095         https://bugs.webkit.org/show_bug.cgi?id=47699
4096
4097         The crash was caused by applyBlockStyle's invalidly assuming that visibleStart and visibleEnd always exist.
4098         Added an early exit to the function when either visibleStart or visibleEnd is null or orphaned.
4099
4100         Test: editing/style/block-style-progress-crash.html
4101
4102         * editing/ApplyStyleCommand.cpp:
4103         (WebCore::ApplyStyleCommand::applyBlockStyle):
4104
4105 2010-10-13  Anders Carlsson  <andersca@apple.com>
4106
4107         Reviewed by Sam Weinig.
4108
4109         Add a FindIndicator class
4110         https://bugs.webkit.org/show_bug.cgi?id=47635
4111
4112         Make Gradient.h and Generator.h private headers; they're used by WebKit2.
4113
4114         * WebCore.xcodeproj/project.pbxproj:
4115
4116 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
4117
4118         Reviewed by Gustavo Noronha Silva.
4119
4120         [Soup] Should not ignore body for redirection responses
4121         https://bugs.webkit.org/show_bug.cgi?id=29299
4122
4123         Body is now provided to WebKitGtk+ in some redirections (like 302)