Remove uses of CACFContextRef and CARender* from WebCore
[WebKit-https.git] / WebCore / ChangeLog
1 2010-10-19  Adam Roben  <aroben@apple.com>
2
3         Remove uses of CACFContextRef and CARender* from WebCore
4
5         These types are now wrapped in a WKCACFContext type exported by
6         WebKitSystemInterface.
7
8         Fixes <http://webkit.org/b/43244>.
9
10         Reviewed by Sam Weinig.
11
12         * platform/graphics/win/WKCACFContextFlusher.cpp:
13         (WebCore::WKCACFContextFlusher::addContext):
14         (WebCore::WKCACFContextFlusher::removeContext):
15         (WebCore::WKCACFContextFlusher::flushAllContexts):
16         * platform/graphics/win/WKCACFContextFlusher.h:
17         Changed to use WKCACFContext. We don't retain/release the context when
18         putting it into/taking it out of the set. WKCACFContext is not a
19         ref-counted type, so we can't retain/release it, but the
20         retain/release was also unnecessary as WKCACFLayerRenderer calls
21         removeContext before the context is destroyed.
22
23         * platform/graphics/win/WKCACFLayer.cpp:
24         (WebCore::WKCACFLayer::becomeRootLayerForContext):
25         * platform/graphics/win/WKCACFLayer.h:
26         Changed to use WKCACFContext.
27
28         * platform/graphics/win/WKCACFLayerRenderer.cpp:
29         (WebCore::WKCACFLayerRenderer::didFlushContext):
30         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
31         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
32         (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
33         (WebCore::WKCACFLayerRenderer::createRenderer):
34         (WebCore::WKCACFLayerRenderer::destroyRenderer):
35         (WebCore::WKCACFLayerRenderer::render): Also replaced uses of
36         CGSRegion with WebKitSystemInterface functions/types.
37         (WebCore::WKCACFLayerRenderer::resetDevice):
38         * platform/graphics/win/WKCACFLayerRenderer.h:
39         Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
40         with a single WKCACFContext, which wraps all three. We hold a bare
41         pointer to it and destroy it in our destructor.
42
43 2010-10-19  Yongjun Zhang  <yongjun_zhang@apple.com>
44
45         Reviewed by Dan Bernstein.
46
47         Pixel cracks when using background image sprite on transformed element at certain scales.
48         https://bugs.webkit.org/show_bug.cgi?id=47868
49
50         The pixel bleeding happens when the current context has scale and interpolation is kCGInterpolationHigh
51         or kCGInterpolationDefault.  If the source rect size is smaller than the intrinsic image size,  some
52         pixels outside of the clip rect will also be used to interpolate the color value for clip edges, which
53         results in unwanted thin lines around the painted area.  We need to use sub-image patch to get rid of
54         the artifacts in this case.
55
56         Test: fast/images/pixel-crack-image-background-webkit-transform-scale.html
57
58         * platform/graphics/cg/ImageCG.cpp:
59         (WebCore::BitmapImage::draw):
60
61 2010-10-19  Evan Martin  <evan@chromium.org>
62
63         Reviewed by Tony Chang.
64
65         sqlite: remove unused member variable
66         https://bugs.webkit.org/show_bug.cgi?id=47957
67
68         There's no need to save the error code into a member variable
69         because nobody ever looks at it.
70
71         * platform/sql/SQLiteDatabase.cpp:
72         (WebCore::SQLiteDatabase::open):
73         * platform/sql/SQLiteDatabase.h:
74
75 2010-10-19  Jia Pu  <jpu@apple.com>
76
77         Reviewed by James Robinson.
78
79         Moving cursor back to autocorrected word in the same line shouldn't remove the underline
80         https://bugs.webkit.org/show_bug.cgi?id=47629
81         <rdar://problem/8546758>
82         
83         Patch <http://trac.webkit.org/changeset/70071> breaks some Chromium Mac hehavior. This patch
84         fixes that.
85
86         * editing/Editor.cpp:
87         (WebCore::Editor::respondToChangedSelection): Add "!PLATFORM(MAC)" to make sure nothing changes
88           on non-Mac platforms.
89
90 2010-10-19  Alexey Proskuryakov  <ap@apple.com>
91
92         Build fix (EFL, maybe more).
93
94         * CMakeLists.txt: Added platform/Language.cpp here, too.
95
96 2010-10-19  Jian Li  <jianli@chromium.org>
97
98         Reviewed by Darin Fisher.
99
100         Rename createBlobURL to createObjectURL and revokeBlobURL to
101         revokeObjectURL per the latest File API spec.
102         https://bugs.webkit.org/show_bug.cgi?id=47934
103
104         * inspector/front-end/ResourcesPanel.js:
105         (WebInspector.ResourcesPanel.prototype._contextMenu):
106         * inspector/front-end/utilities.js:
107         * page/DOMWindow.cpp:
108         (WebCore::DOMWindow::createObjectURL):
109         (WebCore::DOMWindow::revokeObjectURL):
110         * page/DOMWindow.h:
111         * page/DOMWindow.idl:
112         * workers/WorkerContext.cpp:
113         (WebCore::WorkerContext::createObjectURL):
114         (WebCore::WorkerContext::revokeObjectURL):
115         * workers/WorkerContext.h:
116         * workers/WorkerContext.idl:
117
118 2010-10-19  Alexey Proskuryakov  <ap@apple.com>
119
120         Reviewed by Anders Carlsson.
121
122         https://bugs.webkit.org/show_bug.cgi?id=47933
123         <rdar://problem/8494337> navigator.language doesn't work in WebKit2
124
125         * CMakeListsEfl.txt:
126         * GNUmakefile.am:
127         * WebCore.gypi:
128         * WebCore.pro:
129         * WebCore.vcproj/WebCore.vcproj:
130         * WebCore.xcodeproj/project.pbxproj:
131         * platform/chromium/Language.cpp: Removed.
132         * platform/chromium/LanguageChromium.cpp: Copied from WebCore/platform/chromium/Language.cpp.
133         * platform/efl/Language.cpp: Removed.
134         * platform/efl/LanguageEfl.cpp: Copied from WebCore/platform/efl/Language.cpp.
135         * platform/gtk/Language.cpp: Removed.
136         * platform/gtk/LanguageGtk.cpp: Copied from WebCore/platform/gtk/Language.cpp.
137         * platform/qt/Language.cpp: Removed.
138         * platform/qt/LanguageQt.cpp: Copied from WebCore/platform/qt/Language.cpp.
139         * platform/win/Language.cpp: Removed.
140         * platform/win/LanguageWin.cpp: Copied from WebCore/platform/win/Language.cpp.
141         * platform/Language.cpp: Added.
142         Cross platform code is now in platform/Language.cpp. So, I renamed platform files to match
143         the common pattern.
144
145         * WebCore.exp.in: Exported new functions.
146
147         * platform/Language.h: Added an ability to force the language, and an ability to set up
148         listeners for changes (if the platform implements that). Web process will always use the
149         forced language, as sent to it from UI process.
150
151         * platform/mac/Language.mm: Moved code from WebKit.
152         (WebCore::platformDefaultLanguage): Added code to synchronize user defaults. For some reason,
153         they come unsynchronized in WebKit2 here, unlike WebKit1.
154
155         * page/mac/WebCoreViewFactory.h: Removed defaultLanguageCode. WebCore no longer goes to WebKit
156         to ask for that.
157
158         * platform/mac/WebCoreSystemInterface.h:
159         * platform/mac/WebCoreSystemInterface.mm:
160         Added wkCopyCFLocalizationPreferredName().
161
162 2010-10-19  James Simonsen  <simonjam@chromium.org>
163
164         Reviewed by Adam Barth.
165
166         Add "in select" insertion mode to parser.
167
168         This was added to the spec in:
169         http://html5.org/tools/web-apps-tracker?from=5520&to=5522
170
171         And as a result of:
172         http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314
173
174         https://bugs.webkit.org/show_bug.cgi?id=47706
175
176         No new tests. Open to ideas.
177
178         * html/parser/HTMLElementStack.cpp: Added "in select" mode.
179         (WebCore::HTMLNames::isSelectScopeMarker): Ditto.
180         (WebCore::HTMLElementStack::inSelectScope): Ditto.
181         * html/parser/HTMLElementStack.h: Ditto.
182         * html/parser/HTMLTreeBuilder.cpp:
183         (WebCore::HTMLTreeBuilder::processStartTag): Use "in select" instead of "in table."
184         (WebCore::HTMLTreeBuilder::processEndTag): Ditto.
185
186 2010-10-19  Jeremy Orlow  <jorlow@chromium.org>
187
188         Reviewed by Nate Chapin.
189
190         Fix multiple index support in IndexedDB
191         https://bugs.webkit.org/show_bug.cgi?id=47919
192
193         Fix 2 bugs that caused the IndexData of all but the last index to be
194         properly updated:
195         * The objectStoreDataId is NOT unique if there are multiple indexes. So
196           remove the constraint.
197         * Do not delete all existing entries with that objectStoreDataId before
198           adding an entry for each index. Only do it once at the beginning.
199
200         Test: storage/indexeddb/queued-commands.html
201             + index-basics.html modified
202
203         * storage/IDBFactoryBackendImpl.cpp:
204         (WebCore::createTables):
205         * storage/IDBObjectStoreBackendImpl.cpp:
206         (WebCore::deleteIndexData):
207         (WebCore::putIndexData):
208         (WebCore::IDBObjectStoreBackendImpl::putInternal):
209
210 2010-10-19  Martin Robinson  <mrobinson@igalia.com>
211
212         Fix the GTK+ build after r70072. The logic looks incorrect, but
213         this fix tries to preserves it, even so.
214
215         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
216         (baselinePositionForAccessibilityRenderObject):
217         (getAttributeSetForAccessibilityObject):
218
219 2010-10-06  Jer Noble  <jer.noble@apple.com>
220
221         Reviewed by Eric Carlson.
222
223         Windows: Implement 'preload=none'
224         https://bugs.webkit.org/show_bug.cgi?id=47317
225         <rdar://problem/7718442>
226         
227         Implement the 'preload=none' identically to the mac implementation. Add three new
228         ivars: m_preload, m_delayLoad and m_movieURL; and override the MediaPlayerPrivate
229         functions: prepareToPlay() and setPreload().
230
231         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
232         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
233             Initialize new ivars m_delayLoad and m_preload.
234         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::resumeLoad): Added; new.
235         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Split contents between
236             load and loadInternal.
237         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Added; new.
238         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::prepareToPlay): Added; overrides MediaPlayerPrivate.
239         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPreload): Added; overrides MediaPlayerPrivate.
240         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
241         
242 2010-10-19  Enrica Casucci  <enrica@apple.com>
243
244         Reviewed by Alexey Proskuryakov.
245
246         Upstream support of KeyCodes for iOS
247         https://bugs.webkit.org/show_bug.cgi?id=47857
248         
249         * platform/cocoa/KeyEventCocoa.mm:
250         (WebCore::windowsKeyCodeForCharCode): Added special handling of keyCodes for iOS.
251
252 2010-10-19  Joseph Pecoraro  <joepeck@webkit.org>
253
254         Reviewed by David Kilzer.
255
256         iOS: ASSERT in Cache::adjustSize running layout tests
257         https://bugs.webkit.org/show_bug.cgi?id=47873
258
259         Inside Cache::pruneDeadResources we loop over the LRU lists and make resources purgeable
260         with Cache::makeResourcePurgeable(). This wasn't taking into account whether the resource
261         was already purgeable or not, and the makeResourcePurgeable call was always calling
262         adjustSize(). Now we make sure makeResourcePurgable only adjusts the size of the Cache's
263         dead sizes when it first marks the resource purgeable. Likewise, if a resource is marked
264         as purgeable and then evicted, we should not adjust the size again.
265
266         The balancing call is when we have a resource that has been marked as purgeable and we
267         successfully mark it as no longer purgeable in Cache::resourceForURL.
268
269         No test added because this requires testing purgeable memory.
270
271         * loader/Cache.cpp:
272         (WebCore::Cache::makeResourcePurgeable):
273         (WebCore::Cache::evict):
274
275 2010-10-19  Vangelis Kokkevis  <vangelis@chromium.org>
276
277         Reviewed by Kenneth Russell.
278
279         [chromium] Disable mipmapping for ImageLayer's to prevent memory use and
280         performance regression.
281         https://bugs.webkit.org/show_bug.cgi?id=47913
282         
283         This patch is a straight revert of the patch committed with issue 46493
284
285         * platform/graphics/chromium/ContentLayerChromium.cpp:
286         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
287         (WebCore::ContentLayerChromium::updateTextureRect):
288         * platform/graphics/chromium/ContentLayerChromium.h:
289         (WebCore::ContentLayerChromium::SharedValues::initialized):
290         * platform/graphics/chromium/ImageLayerChromium.cpp:
291         (WebCore::ImageLayerChromium::updateContents):
292
293 2010-10-18  Zhenyao Mo  <zmo@google.com>
294
295         Reviewed by Kenneth Russell.
296
297         gl-teximage.html fails on chromium webkit mac bot
298         https://bugs.webkit.org/show_bug.cgi?id=47034
299
300         * platform/graphics/GraphicsContext3D.cpp: Deal with endians in 16 bit image data.
301         (WebCore::convertColor16LittleTo8):
302         (WebCore::convertColor16BigTo8):
303         (WebCore::doPacking):
304         * platform/graphics/GraphicsContext3D.h: Ditto.
305         * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
306         (WebCore::GraphicsContext3D::getImageData):
307
308 2010-10-19  David Hyatt  <hyatt@apple.com>
309
310         Reviewed by Dan Bernstein.
311
312         https://bugs.webkit.org/show_bug.cgi?id=47841
313
314         Rework baselinePosition and lineHeight to be writing-mode-aware.  There's a lot of refactoring here to clean up
315         the method parameters to be more readable and to simplify the subclassing of the various methods in order to 
316         keep the horizontal/vertical querying to a minimum.
317
318         * WebCore.xcodeproj/project.pbxproj:
319         * mathml/RenderMathMLFraction.cpp:
320         (WebCore::RenderMathMLFraction::baselinePosition):
321         * mathml/RenderMathMLFraction.h:
322         * mathml/RenderMathMLOperator.cpp:
323         (WebCore::RenderMathMLOperator::baselinePosition):
324         * mathml/RenderMathMLOperator.h:
325         * mathml/RenderMathMLRow.cpp:
326         (WebCore::RenderMathMLRow::baselinePosition):
327         * mathml/RenderMathMLRow.h:
328         * mathml/RenderMathMLSubSup.cpp:
329         (WebCore::RenderMathMLSubSup::baselinePosition):
330         * mathml/RenderMathMLSubSup.h:
331         * mathml/RenderMathMLUnderOver.cpp:
332         (WebCore::RenderMathMLUnderOver::layout):
333         (WebCore::RenderMathMLUnderOver::baselinePosition):
334         * mathml/RenderMathMLUnderOver.h:
335         * rendering/InlineBox.h:
336         (WebCore::InlineBox::baselinePosition):
337         (WebCore::InlineBox::lineHeight):
338         * rendering/InlineFlowBox.cpp:
339         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
340         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
341         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
342         * rendering/InlineTextBox.cpp:
343         (WebCore::InlineTextBox::baselinePosition):
344         (WebCore::InlineTextBox::lineHeight):
345         * rendering/InlineTextBox.h:
346         * rendering/RenderBR.cpp:
347         (WebCore::RenderBR::lineHeight):
348         * rendering/RenderBR.h:
349         (WebCore::toRenderBR):
350         * rendering/RenderBlock.cpp:
351         (WebCore::RenderBlock::lineHeight):
352         (WebCore::RenderBlock::baselinePosition):
353         (WebCore::RenderBlock::firstLineBoxBaseline):
354         (WebCore::RenderBlock::lastLineBoxBaseline):
355         (WebCore::RenderBlock::localCaretRect):
356         * rendering/RenderBlock.h:
357         * rendering/RenderBlockLineLayout.cpp:
358         (WebCore::RenderBlock::layoutInlineChildren):
359         * rendering/RenderBox.cpp:
360         (WebCore::RenderBox::lineHeight):
361         (WebCore::RenderBox::baselinePosition):
362         * rendering/RenderBox.h:
363         * rendering/RenderBoxModelObject.cpp:
364         (WebCore::RenderBoxModelObject::verticalPosition):
365         * rendering/RenderBoxModelObject.h:
366         * rendering/RenderFileUploadControl.cpp:
367         (WebCore::RenderFileUploadControl::paintObject):
368         * rendering/RenderFlexibleBox.cpp:
369         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
370         (WebCore::RenderFlexibleBox::layoutVerticalBox):
371         * rendering/RenderInline.cpp:
372         (WebCore::RenderInline::lineHeight):
373         (WebCore::RenderInline::baselinePosition):
374         * rendering/RenderInline.h:
375         * rendering/RenderListBox.cpp:
376         (WebCore::RenderListBox::baselinePosition):
377         * rendering/RenderListBox.h:
378         * rendering/RenderListMarker.cpp:
379         (WebCore::RenderListMarker::lineHeight):
380         (WebCore::RenderListMarker::baselinePosition):
381         * rendering/RenderListMarker.h:
382         * rendering/RenderObject.cpp:
383         * rendering/RenderObject.h:
384         * rendering/RenderReplaced.cpp:
385         * rendering/RenderReplaced.h:
386         * rendering/RenderSVGRoot.cpp:
387         * rendering/RenderSVGRoot.h:
388         * rendering/RenderSlider.cpp:
389         (WebCore::RenderSlider::baselinePosition):
390         * rendering/RenderSlider.h:
391         * rendering/RenderTableCell.cpp:
392         (WebCore::RenderTableCell::baselinePosition):
393         * rendering/RenderTableCell.h:
394         * rendering/RenderTableCol.h:
395         (WebCore::RenderTableCol::isTableCol):
396         * rendering/RenderTableRow.h:
397         * rendering/RenderTableSection.h:
398         * rendering/RenderText.cpp:
399         * rendering/RenderText.h:
400         * rendering/RenderTextControl.cpp:
401         (WebCore::RenderTextControl::computeLogicalHeight):
402         * rendering/RenderTextControlMultiLine.cpp:
403         (WebCore::RenderTextControlMultiLine::baselinePosition):
404         * rendering/RenderTextControlMultiLine.h:
405         * rendering/RenderTextControlSingleLine.cpp:
406         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
407         * rendering/RootInlineBox.h:
408         (WebCore::RootInlineBox::baselinePosition):
409         (WebCore::RootInlineBox::lineHeight):
410         * rendering/svg/SVGInlineTextBox.cpp:
411         (WebCore::SVGInlineTextBox::calculateBoundaries):
412
413 2010-10-19  Jia Pu  <jpu@apple.com>
414
415         Reviewed by Adele Peterson.
416
417         Moving cursor back to autocorrected word in the same line shouldn't remove the underline
418         https://bugs.webkit.org/show_bug.cgi?id=47629
419         <rdar://problem/8546758>
420
421         Tests: platform/mac/editing/spelling/click-autocorrected-word.html
422                platform/mac/editing/spelling/delete-into-autocorrected-word.html
423                platform/mac/editing/spelling/delete-into-misspelled-word.html
424                platform/mac/editing/spelling/forward-delete-into-autocorrected-word.html
425                platform/mac/editing/spelling/move-cursor-around-misspelled-word.html
426                platform/mac/editing/spelling/move-cursor-to-autocorrected-word.html
427                platform/mac/editing/spelling/move-cursor-to-beginning-of-autocorrected-word.html
428
429         * editing/Editor.cpp:
430         (WebCore::Editor::respondToChangedSelection): Don't remove misspelling or autocorrection
431           underlines when cursor is moved onto a word.
432
433 2010-10-19  Eric Carlson  <eric.carlson@apple.com>
434
435         Not reviewed. Build fix.
436
437         * html/HTMLMediaElement.cpp:
438         (WebCore::HTMLMediaElement::selectNextSourceChild): Initialize variable to avoid Windows
439         "potentially uninitialized local variable" warning.
440
441 2010-10-19  Eric Carlson  <eric.carlson@apple.com>
442
443         Reviewed by Darin Adler.
444
445         https://bugs.webkit.org/show_bug.cgi?id=46763
446         CRASH in WebCore::ThreadTimers::sharedTimerFiredInternal
447
448         Fix crashes caused by moving and deleting <source> element(s) of active media element.
449
450         Tests: media/video-source-moved.html
451                media/video-source-removed.html
452
453         * html/HTMLMediaElement.cpp:
454         (WebCore::HTMLMediaElement::HTMLMediaElement): Add logging. Initialize selectNextSourceChild.
455         (WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto.
456         (WebCore::HTMLMediaElement::insertedIntoDocument): Ditto.
457         (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
458         (WebCore::HTMLMediaElement::scheduleLoad): Ditto.
459         (WebCore::HTMLMediaElement::setNetworkState): Deal with m_currentSourceNode being null when
460         the media engine signals a failure by skipping the error message and continuing as usual.
461         (WebCore::HTMLMediaElement::setVolume): Fix logging typo.
462         (WebCore::HTMLMediaElement::havePotentialSourceChild): Save and restore m_nextChildNodeToConsider
463         around call to selectNextSourceChild because they are both significant.
464         (WebCore::HTMLMediaElement::selectNextSourceChild): Use m_nextChildNodeToConsider to pick
465         the first node to consider. Bail immediately if it signals that we have already processed 
466         every <source> node. Stach the node following the current source element in m_nextChildNodeToConsider
467         so we can resume the search even if m_currentSourceNode is removed while it is being processed.
468         (WebCore::HTMLMediaElement::sourceWasAdded): New, move logic from HTMLSourceElement::insertedIntoTree
469         here and correct it to deal with a <source> node being inserted immediately after the
470         current <source> node and a new <source> node being inserted at the end of the list after
471         all candidates have failed.
472         (WebCore::HTMLMediaElement::sourceWillBeRemoved): New, deal with current source node and next
473         potential node being removed.
474         * html/HTMLMediaElement.h:
475         (WebCore::HTMLMediaElement::sourceChildEndOfListValue): New, define sentinal value used to indicate
476         that all nodes have been processed.
477
478         * html/HTMLSourceElement.cpp:
479         (WebCore::HTMLSourceElement::HTMLSourceElement): Add logging.
480         (WebCore::HTMLSourceElement::insertedIntoTree): Call mediaElement->sourceWasAdded instead
481         of having logic here.
482         (WebCore::HTMLSourceElement::willRemove): New, call mediaElement->sourceWillBeRemoved
483         (WebCore::HTMLSourceElement::scheduleErrorEvent): Add logging.
484         (WebCore::HTMLSourceElement::cancelPendingErrorEvent): Add logging.
485         * html/HTMLSourceElement.h:
486
487 2010-10-19  Luiz Agostini  <luiz.agostini@openbossa.org>
488
489         Reviewed by Antti Koivisto.
490
491         [Qt] WebKit2 MacOS build fix
492         https://bugs.webkit.org/show_bug.cgi?id=47897
493
494         Qt WebKit2 MacOS build fix.
495
496         * bridge/npapi.h:
497
498 2010-10-19  Philippe Normand  <pnormand@igalia.com>
499
500         Reviewed by Xan Lopez.
501
502         [GTK] Soup cache code still has some warnings
503         https://bugs.webkit.org/show_bug.cgi?id=47733
504
505         Fixed some compilation warnings happening with gcc 4.4.5 on
506         64-bits architecture.
507
508         * platform/network/soup/cache/webkit/soup-cache.c:
509         (webkit_soup_cache_entry_set_freshness):
510         (close_ready_cb):
511
512 2010-10-19  Yury Semikhatsky  <yurys@chromium.org>
513
514         Reviewed by Pavel Feldman.
515
516         Web Inspector: crash while trying to step over a function using inspector
517         https://bugs.webkit.org/show_bug.cgi?id=47902
518
519         * inspector/front-end/ScriptsPanel.js:
520         (WebInspector.ScriptsPanel.prototype.reset): reset scripts panel to resumed state on navigation.
521
522 2010-10-19  Ryuan Choi  <ryuan.choi@samsung.com>
523
524         Unreviewed attempt to remove warning in EFL build.
525
526         Fix #if to #ifdef.
527
528         No new features, so no tests added.
529
530         * platform/efl/WidgetEfl.cpp:
531         (WebCore::Widget::applyFallbackCursor):
532
533 2010-10-19  Andreas Kling  <kling@webkit.org>
534
535         Reviewed by Tor Arne Vestbø.
536
537         [Qt] getImageData returns wrong data for non-0,0 source offset
538         https://bugs.webkit.org/show_bug.cgi?id=47898
539
540         Test: fast/canvas/canvas-getImageData-negative-source.html
541
542         * platform/graphics/qt/ImageBufferQt.cpp:
543         (WebCore::getImageData): Add missing *4's to get correct pixel offset.
544
545 2010-10-19  Andreas Kling  <kling@webkit.org>
546
547         Reviewed by Kenneth Rohde Christiansen.
548
549         [Qt] Correct initial state of ImageBuffer QPen
550         https://bugs.webkit.org/show_bug.cgi?id=47804
551
552         Have the QPen on ImageBuffers start in Qt::SvgMiterJoin mode.
553
554         * platform/graphics/qt/ImageBufferQt.cpp:
555         (WebCore::ImageBufferData::ImageBufferData):
556
557 2010-10-19  Philippe Normand  <pnormand@igalia.com>
558
559         Reviewed by Martin Robinson.
560
561         GStreamer PlatformVideoWindow needs an API to prepare the widget before applying the overlay
562         https://bugs.webkit.org/show_bug.cgi?id=46790
563
564         Simple API addition to PlatformVideoWindow to allow
565         implementations to optionally prepare their own PlatformWidget
566         before applying the GStreamer XOverlay to it. This will likely be
567         needed on Mac OSX only.
568
569         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
570         (WebCore::GStreamerGWorld::setWindowOverlay):
571         * platform/graphics/gstreamer/PlatformVideoWindow.h:
572         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
573         (PlatformVideoWindow::prepareForOverlay):
574         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
575         (PlatformVideoWindow::prepareForOverlay):
576
577 2010-10-19  Ben Murdoch  <benm@google.com>
578
579         Reviewed by Steve Block.
580
581         Missing support for document.createTouch and document.createTouchList
582         https://bugs.webkit.org/show_bug.cgi?id=47676
583
584         These APIs are used by many sites to detect support for touch events.
585
586         Implement the APIs according to the documentation at:
587         http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/DocumentAdditionsReference/DocumentAdditions/DocumentAdditions.html
588
589         Tests: fast/events/touch/document-create-touch-list.html
590                fast/events/touch/document-create-touch.html
591
592         * bindings/js/JSBindingsAllInOne.cpp: Add new files to list.
593         * bindings/js/JSTouchCustom.cpp: Added.
594         (WebCore::toJSNewlyCreated):
595         * bindings/js/JSTouchListCustom.cpp: Added.
596         (WebCore::toJSNewlyCreated):
597         * bindings/scripts/CodeGeneratorJS.pm:
598         * dom/Document.cpp:
599         (WebCore::Document::createTouch):
600         (WebCore::Document::createTouchList):
601         * dom/Document.h:
602         * dom/Document.idl: Add createTouch and createTouchList functions.
603         * Android.jscbindings.mk: Update makefiles.
604         * CMakeLists.txt: Ditto.
605         * GNUmakefile.am: Ditto.
606         * WebCore.gypi: Ditto.
607         * WebCore.pro: Ditto.
608
609
610 2010-10-19  Pavel Feldman  <pfeldman@chromium.org>
611
612         Reviewed by Yury Semikhatsky.
613
614         Web Inspector: migrate from legacy Object.properties to Object.keys, remove dead code.
615         https://bugs.webkit.org/show_bug.cgi?id=47890
616
617         * inspector/front-end/ConsoleView.js:
618         (WebInspector.ConsoleView.prototype._reportCompletions):
619         * inspector/front-end/ElementsPanel.js:
620         (WebInspector.ElementsPanel):
621         * inspector/front-end/ExtensionServer.js:
622         (WebInspector.ExtensionServer.prototype._onGetResources):
623         * inspector/front-end/HAREntry.js:
624         (WebInspector.HARLog.prototype.build):
625         * inspector/front-end/StylesSidebarPane.js:
626         (WebInspector.StylePropertyTreeElement.prototype.):
627         (WebInspector.StylePropertyTreeElement.prototype):
628         * inspector/front-end/utilities.js:
629
630 2010-10-19  Pavel Feldman  <pfeldman@chromium.org>
631
632         Reviewed by Yury Semikhatsky.
633
634         Web Inspector: do not access ResourcePanel from resources directly.
635         https://bugs.webkit.org/show_bug.cgi?id=47892
636
637         * inspector/front-end/Resource.js:
638         (WebInspector.Resource.prototype.set documentURL):
639         (WebInspector.Resource.prototype.set startTime):
640         (WebInspector.Resource.prototype.set responseReceivedTime):
641         (WebInspector.Resource.prototype.set endTime):
642         (WebInspector.Resource.prototype.set resourceSize):
643         (WebInspector.Resource.prototype.set expectedContentLength):
644         (WebInspector.Resource.prototype.set category):
645         (WebInspector.Resource.prototype.set cached):
646         (WebInspector.Resource.prototype.set mimeType):
647         (WebInspector.Resource.prototype.get requestHeaders):
648         (WebInspector.Resource.prototype.set requestHeaders):
649         (WebInspector.Resource.prototype.get responseHeaders):
650         (WebInspector.Resource.prototype.set responseHeaders):
651         * inspector/front-end/ResourcesPanel.js:
652         (WebInspector.ResourcesPanel.prototype.addResource):
653         (WebInspector.ResourcesPanel.prototype.refreshResource):
654         (WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
655         (WebInspector.ResourcesPanel.prototype._resourceViewIsConsistentWithCategory):
656         (WebInspector.ResourceGraph):
657         (WebInspector.ResourceGraph.prototype.refresh):
658         * inspector/front-end/inspector.js:
659         (WebInspector.updateResource):
660
661 2010-10-19  Yuta Kitamura  <yutak@chromium.org>
662
663         Reviewed by Pavel Feldman.
664
665         Make sure WebSocket resource has the url field when it is created.
666
667         Web Inspector: Uncaught TypeError when connection to WebSocket server is refused
668         https://bugs.webkit.org/show_bug.cgi?id=47891
669
670         * inspector/InspectorResource.cpp:
671         (WebCore::InspectorResource::createWebSocket):
672
673 2010-10-19  Hayato Ito  <hayato@chromium.org>
674
675         Reviewed by Darin Adler.
676
677         Make CSS style selector non-recursive.
678         https://bugs.webkit.org/show_bug.cgi?id=43783
679
680         This change is one of the required changes to fix the following master bug:
681         https://bugs.webkit.org/show_bug.cgi?id=42806
682
683         To avoid recursion, we prepare a call stack and maintain a list of
684         function call state by ourselves and try matching iteratively.
685
686         Test: fast/css/long-css-selector-matches.html
687
688         * css/CSSStyleSelector.cpp:
689         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
690         (WebCore::CSSStyleSelector::checkSelector):
691         * css/CSSStyleSelector.h:
692
693 2010-10-19  Sheriff Bot  <webkit.review.bot@gmail.com>
694
695         Unreviewed, rolling out r70034.
696         http://trac.webkit.org/changeset/70034
697         https://bugs.webkit.org/show_bug.cgi?id=47889
698
699         "Gustavo's bot is lame" (Requested by xan_ on #webkit).
700
701         * platform/network/soup/CookieJarSoup.cpp:
702         (WebCore::defaultCookieJar):
703         (WebCore::setCookies):
704         * platform/network/soup/ResourceHandleSoup.cpp:
705         (WebCore::ResourceHandle::prepareForURL):
706         (WebCore::restartedCallback):
707         (WebCore::startHttp):
708         * platform/network/soup/ResourceRequestSoup.cpp:
709         (WebCore::ResourceRequest::toSoupMessage):
710         (WebCore::ResourceRequest::updateFromSoupMessage):
711
712 2010-10-19  Xan Lopez  <xlopez@igalia.com>
713
714         Reviewed by Martin Robinson.
715
716         [GTK] Bump minimum requirement for libsoup to 2.30
717         https://bugs.webkit.org/show_bug.cgi?id=46176
718
719         Bump minimum required libsoup version to 2.30.
720
721         * platform/network/soup/CookieJarSoup.cpp:
722         (WebCore::defaultCookieJar):
723         (WebCore::setCookies):
724         * platform/network/soup/ResourceHandleSoup.cpp:
725         (WebCore::ResourceHandle::prepareForURL):
726         (WebCore::restartedCallback):
727         (WebCore::startHttp):
728         * platform/network/soup/ResourceRequestSoup.cpp:
729         (WebCore::ResourceRequest::toSoupMessage):
730         (WebCore::ResourceRequest::updateFromSoupMessage):
731
732 2010-10-19  Xan Lopez  <xlopez@igalia.com>
733
734         Reviewed by Martin Robinson.
735
736         Fix distcheck, take 2.
737
738         * GNUmakefile.am: also move the generated CSS hash files to the
739         build dir.
740
741 2010-10-18  Kent Tamura  <tkent@chromium.org>
742
743         Reviewed by Dimitri Glazkov.
744
745         Should not save state of a detached form control.
746         https://bugs.webkit.org/show_bug.cgi?id=47811
747
748         Test: fast/forms/state-save-of-detached-control.html
749
750         * html/HTMLFormControlElement.cpp:
751         (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
752           If the node is detached, don't save the state.
753
754 2010-10-18  Xan Lopez  <xlopez@igalia.com>
755
756         Reviewed by Martin Robinson.
757
758         * GNUmakefile.am: add missing files.
759
760 2010-10-18  Oliver Hunt  <oliver@apple.com>
761
762         Reviewed by Sam Weinig.
763
764         REGRESSION: Feedly extension crashes Webkit
765         https://bugs.webkit.org/show_bug.cgi?id=45811
766
767         The basic problem was the deserializer was holding a pointer into
768         the constant pool, but if you were sufficiently unlucky then the
769         constant pool would be moved while still relying on the pointer,
770         which leads to badness.
771
772         I looked at just making all the sites this could happen extract the
773         right string/jsstring before any possible allocations, but it seemed
774         too fragile so i've gone for a forwarding object as the solution.
775
776         * bindings/js/SerializedScriptValue.cpp:
777         (WebCore::CloneDeserializer::CachedStringRef::CachedStringRef):
778         (WebCore::CloneDeserializer::CachedStringRef::operator->):
779         (WebCore::CloneDeserializer::readStringData):
780         (WebCore::CloneDeserializer::readFile):
781         (WebCore::CloneDeserializer::readTerminal):
782         (WebCore::CloneDeserializer::deserialize):
783
784 2010-10-18  Chris Rogers  <crogers@google.com>
785
786         Reviewed by Chris Fleizach.
787
788         Add AudioResampler files
789         https://bugs.webkit.org/show_bug.cgi?id=47623
790
791         No new tests since audio API is not yet implemented.
792
793         * platform/audio/AudioResampler.cpp: Added.
794         (WebCore::AudioResampler::AudioResampler):
795         (WebCore::AudioResampler::configureChannels):
796         (WebCore::AudioResampler::process):
797         (WebCore::AudioResampler::setRate):
798         (WebCore::AudioResampler::reset):
799         * platform/audio/AudioResampler.h: Added.
800         (WebCore::AudioResampler::~AudioResampler):
801         (WebCore::AudioResampler::rate):
802
803 2010-10-18  Vangelis Kokkevis  <vangelis@chromium.org>
804
805         Reviewed by James Robinson.
806
807         [chromium] Prevent the creation of very large textures for layers by switching
808         to "large layer" mode when a texture is larger than some fixed reasonable size
809         (set to 2000 pixels for now).
810         https://bugs.webkit.org/show_bug.cgi?id=47751
811
812         The code also changes the large layer logic to use the current scissor rect used
813         by the compositor instead of the visible rect to determine how to clip large layers.
814         This will provide additional texture savings. In addition, the various layer rects
815         have been converted to use integers instead of floats to preserve uniformity in the code.
816         
817         Tests: Existing large layer layout tests including huge-layer and huge-layer-img
818
819         * platform/graphics/chromium/ContentLayerChromium.cpp:
820         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
821         (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
822         * platform/graphics/chromium/LayerChromium.cpp:
823         (WebCore::LayerChromium::getDrawRect):
824         * platform/graphics/chromium/LayerChromium.h:
825         * platform/graphics/chromium/LayerRendererChromium.cpp:
826         (WebCore::LayerRendererChromium::drawLayers):
827         (WebCore::LayerRendererChromium::drawLayersRecursive):
828         (WebCore::LayerRendererChromium::scissorToRect):
829         * platform/graphics/chromium/LayerRendererChromium.h:
830         (WebCore::LayerRendererChromium::currentScissorRect):
831
832 2010-10-18  Jia Pu  <jpu@apple.com>
833
834         Reviewed by Stephanie Lewis.
835
836         Correct the description of manual test: autocorrection-cancelled-by-typing-1.html
837         https://bugs.webkit.org/show_bug.cgi?id=47722
838         <rdar://problem/8556206>
839
840         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Update description
841           to match the test content.
842
843 2010-10-18  Martin Robinson  <mrobinson@igalia.com>
844
845         Build fix for newer versions of GTK+ 2.0. Instead of using GDK_DISPLAY()
846         use GDK_DRAWABLE_XDISPLAY(gdk_display_get_default()). GDK_DISPLAY() was
847         recently deprecated and the latter method has been available since GTK+
848         2.2.
849
850         * plugins/gtk/PluginViewGtk.cpp:
851         (WebCore::PluginView::updatePluginWidget):
852         (WebCore::PluginView::paint):
853         (WebCore::PluginView::initXEvent):
854         (WebCore::PluginView::platformGetValue):
855         (WebCore::getVisualAndColormap):
856         (WebCore::PluginView::platformStart):
857         (WebCore::PluginView::platformDestroy):
858
859 2010-10-18  Ryosuke Niwa  <rniwa@webkit.org>
860
861         Reviewed by Adam Barth.
862
863         elementCannotHaveEndTag should be a member function of MarkupAccumulator
864         https://bugs.webkit.org/show_bug.cgi?id=47846
865
866         Moved elementCannotHaveEndTag into MarkupAccumulator.
867
868         No new tests are added since this is a cleanup.
869
870         * editing/MarkupAccumulator.cpp:
871         (WebCore::MarkupAccumulator::elementCannotHaveEndTag): Added.
872         * editing/MarkupAccumulator.h: Added MarkupAccumulator::elementCannotHaveEndTag.
873         * editing/markup.cpp: Removed elementCannotHaveEndTag.
874         * editing/markup.h: Removed elementCannotHaveEndTag.
875
876 2010-10-18  Johnny Ding  <jnd@chromium.org>
877
878         Reviewed by Adam Barth.
879
880         Set the right referent sourceURL for the script with force user gesture.
881         https://bugs.webkit.org/show_bug.cgi?id=37138
882
883         Because empty sourceURL indicates running script with force user gesture,
884         make WebKit use document.url() as referent sourceURL (Since it uses blank
885         URL instead empty if the input URL is empty) if WebKit isn't running the
886         script from a hyper-link.
887
888         Test: fast/events/popup-blocked-from-window-open.html
889
890         * bindings/ScriptControllerBase.cpp:
891         (WebCore::ScriptController::executeScript):
892         * bindings/js/ScriptController.cpp:
893         (WebCore::ScriptController::executeScriptInWorld):
894
895 2010-10-18  Darin Adler  <darin@apple.com>
896
897         * dom/Node.h: Fix ancient typo in just-modified comment.
898
899 2010-10-18  Darin Adler  <darin@apple.com>
900
901         Reviewed by Alexey Proskuryakov.
902
903         Remove some functions from class Node and make a few others non-virtual
904         https://bugs.webkit.org/show_bug.cgi?id=47735
905
906         Refactoring. No new tests.
907
908         * bindings/js/JSNodeCustom.cpp:
909         (WebCore::JSNode::markChildren): Added a FIXME about the use of the virtual
910         ownerDocument function.
911
912         * dom/ContainerNode.cpp:
913         (WebCore::ContainerNode::removeChildren): Removed the unused return value.
914
915         * dom/ContainerNode.h: Made insertBefore, replaceChild, removeChild, and
916         appendChild non-virtual for clarity and performance. Made removeChildren
917         non-virtual and removed its return value. Moved the inline Node functions
918         that call through to ContainerNode into this file since the old way involved
919         an extra level of inline function but otherwise had no advantages.
920
921         * dom/Element.h: Moved isMathMLElement here because there is no call site
922         that needs to call it on a Node*. We can always move it back if we need to,
923         but it's better to have less in the Node class.
924
925         * dom/Node.cpp:
926         (WebCore::Node::insertBefore): Added an isContainerNode check so this can
927         be non-virtual. There are very few callers who call this function on Node.
928         If we want to optimize them further we can make the isContainerNode check
929         inline in the future.
930         (WebCore::Node::replaceChild): Ditto.
931         (WebCore::Node::removeChild): Ditto.
932         (WebCore::Node::appendChild): Ditto.
933         (WebCore::Node::remove): Removed unneeded ref/unref because
934         ContainerNode::removeChild already does this.
935         (WebCore::Node::createRendererIfNeeded): Removed #if around call to
936         childShouldCreateRenderer since it's needed even without SVG and XHTMLMP.
937
938         * dom/Node.h: Moved definitions of inline functions that depend on
939         ContainerNode to the ContainerNode.h header. They already required inclusion
940         of that header, so there is no functional change. Made insertBefore,
941         replaceChild, removeChild, and appendChild non-virtual. There are very few
942         callers of these functions on this class. Moved isMathMLElement to Element.
943         Added a FIXME about the name of eventAncestors. Fixed comment formatting.
944         Eliminated unused isEditableBlock function. Moved the body of the
945         enclosingInlineElement function to the editing file that was the only
946         call site. Removed the previousEditable and nextEditable functions,
947         incorporating their bodies into the one place they were called.
948         Took the childShouldCreateRenderer function out of #if since it's
949         now used by the implementation of the <noscript> element.
950
951         * dom/Position.cpp:
952         (WebCore::nextRenderedEditable): Rewrote the function to use nextLeafNode
953         instead of nextEditable.
954         (WebCore::previousRenderedEditable): Rewrote the function to use
955         previousLeafNode instead of previousEditable.
956
957         * editing/ReplaceSelectionCommand.cpp:
958         (WebCore::enclosingInline): Moved function here from the Node class. Also
959         fixed an incorrect cast this function did, which assumed the function
960         result was always an element, which the function does not guarantee.
961         (WebCore::ReplaceSelectionCommand::doApply): Call the function above.
962
963         * history/HistoryItem.cpp: Added include of MathExtras.h.
964
965 2010-10-18  Yongjun Zhang  <yongjun_zhang@apple.com>
966
967         Reviewed by Darin Adler.
968
969         Missing support for document.createEvent("OrientationEvent")
970         https://bugs.webkit.org/show_bug.cgi?id=32492
971
972         Add support for document.createEvent("OrientationEvent") to help unit testing of
973         onOrientationChange event.
974
975         Test: fast/dom/DeviceOrientation/create-event-onorientationchange.html
976
977         * dom/Document.cpp:
978         (WebCore::Document::createEvent):
979
980 2010-10-18  Jeremy Orlow  <jorlow@chromium.org>
981
982         Reviewed by Darin Adler.
983
984         DOMStringList should return null if the index is out of range
985         https://bugs.webkit.org/show_bug.cgi?id=47829
986
987         When item() returns a null string, it needs to be passed to JS as
988         null. The indexed getter will then magically do the right thing.
989         So all that's left is having DOMStringList::item() return null when
990         the index is out of bounds.
991
992         * dom/DOMStringList.cpp:
993         (WebCore::DOMStringList::item):
994         * dom/DOMStringList.h:
995         * dom/DOMStringList.idl:
996
997 2010-10-18  Girish Ramakrishnan  <girish@forwardbias.in>
998
999         Reviewed by Ariya Hidayat.
1000
1001         [Qt] Implement Accelerated Composition for NPAPI Plugins.
1002
1003         https://bugs.webkit.org/show_bug.cgi?id=35524
1004
1005         * plugins/PluginView.h:
1006         (WebCore::PluginView::platformLayer):
1007         * plugins/qt/PluginViewQt.cpp:
1008         (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
1009         (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
1010         (WebCore::PluginGraphicsLayerQt::paint):
1011         (WebCore::PluginView::updatePluginWidget):
1012         (WebCore::PluginView::paint):
1013         (WebCore::PluginView::invalidateRect):
1014         (WebCore::PluginView::invalidateRegion):
1015         (WebCore::PluginView::platformStart):
1016         (WebCore::PluginView::platformLayer):
1017
1018 2010-10-18  Stuart Morgan  <stuartmorgan@chromium.org>
1019
1020         Reviewed by Eric Seidel.
1021
1022         Switch to using the new Carbon NPAPI event declarations, and remove
1023         the old ones.
1024
1025         https://bugs.webkit.org/show_bug.cgi?id=40784
1026
1027         * bridge/npapi.h:
1028         * plugins/mac/PluginViewMac.mm:
1029         (WebCore::PluginView::setFocus):
1030         (WebCore::PluginView::handleMouseEvent):
1031
1032 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
1033
1034         Reviewed by Yury Semikhatsky.
1035
1036         Web Inspector: comment out resource manager instantiation on front-end side.
1037         https://bugs.webkit.org/show_bug.cgi?id=47823
1038
1039         * inspector/front-end/inspector.js:
1040
1041 2010-10-18  Andrei Popescu  <andreip@google.com>
1042
1043         Reviewed by Jeremy Orlow.
1044
1045         The description parameter of IDBFactory::open() should be mandatory.
1046         https://bugs.webkit.org/show_bug.cgi?id=47835
1047
1048         Makes the description parameter mandatory, as per the IndexedDatabase specification.
1049         Modified existing tests to cover this change.
1050
1051         * storage/IDBDatabaseBackendImpl.cpp:
1052         (WebCore::extractMetaData):
1053         (WebCore::setMetaData):
1054         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1055         * storage/IDBFactory.cpp:
1056         (WebCore::IDBFactory::open):
1057         * storage/IDBFactory.h:
1058         * storage/IDBFactory.idl:
1059
1060 2010-10-18  Xiaomei Ji  <xji@chromium.org>
1061
1062         Reviewed by David Levin.
1063
1064         Code cleanup: Move most function members in TextRunWorker from inlined.
1065         https://bugs.webkit.org/show_bug.cgi?id=47732
1066
1067         No functionality change, so no tests added.
1068
1069         * platform/graphics/chromium/FontLinux.cpp:
1070         (WebCore::TextRunWalker::setWordSpacingAdjustment):
1071         (WebCore::TextRunWalker::setLetterSpacingAdjustment):
1072         (WebCore::TextRunWalker::setXOffsetToZero):
1073         (WebCore::TextRunWalker::rtl):
1074         (WebCore::TextRunWalker::glyphs):
1075         (WebCore::TextRunWalker::length):
1076         (WebCore::TextRunWalker::xPositions):
1077         (WebCore::TextRunWalker::advances):
1078         (WebCore::TextRunWalker::width):
1079         (WebCore::TextRunWalker::logClusters):
1080         (WebCore::TextRunWalker::numCodePoints):
1081         (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
1082         (WebCore::TextRunWalker::isCodepointSpace):
1083         (WebCore::TextRunWalker::TextRunWalker):
1084         (WebCore::TextRunWalker::~TextRunWalker):
1085         (WebCore::TextRunWalker::isWordBreak):
1086         (WebCore::TextRunWalker::setPadding):
1087         (WebCore::TextRunWalker::reset):
1088         (WebCore::TextRunWalker::setBackwardsIteration):
1089         (WebCore::TextRunWalker::nextScriptRun):
1090         (WebCore::TextRunWalker::widthOfFullRun):
1091         (WebCore::TextRunWalker::getTextRun):
1092         (WebCore::TextRunWalker::getNormalizedTextRun):
1093         (WebCore::TextRunWalker::setupFontForScriptRun):
1094         (WebCore::TextRunWalker::allocHarfbuzzFont):
1095         (WebCore::TextRunWalker::deleteGlyphArrays):
1096         (WebCore::TextRunWalker::createGlyphArrays):
1097         (WebCore::TextRunWalker::resetGlyphArrays):
1098         (WebCore::TextRunWalker::shapeGlyphs):
1099         (WebCore::TextRunWalker::setGlyphXPositions):
1100         (WebCore::TextRunWalker::mirrorCharacters):
1101
1102 2010-10-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
1103
1104         Reviewed by Andreas Kling.
1105
1106         [Qt] AC rendering bugs
1107         There were a few missing connections in Qt AC between GraphicsLayer and plugins, like changing the plugin's geometry to the layer's
1108         contentsRect, and making sure media layers handle ParentChange events and setContentsNeedsDisplay. Now media layers behave correctly.
1109
1110         https://bugs.webkit.org/show_bug.cgi?id=47571
1111
1112         No new tests. This is in preparation for fixing AC+plugins, which already has tests that don't work yet with Qt.
1113
1114         * platform/graphics/qt/GraphicsLayerQt.cpp:
1115         (WebCore::GraphicsLayerQtImpl::flushChanges):
1116         (WebCore::GraphicsLayerQt::setContentsNeedsDisplay):
1117         * platform/graphics/qt/GraphicsLayerQt.h:
1118
1119 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
1120
1121         Reviewed by Simon Fraser.
1122
1123         Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
1124         https://bugs.webkit.org/show_bug.cgi?id=46224
1125
1126         * CMakeLists.txt:
1127         * GNUmakefile.am:
1128         * WebCore.gypi:
1129         * WebCore.pro:
1130         * WebCore.vcproj/WebCore.vcproj:
1131         * WebCore.xcodeproj/project.pbxproj:
1132         * inspector/InspectorClient.cpp: Added.
1133         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
1134         * inspector/InspectorClient.h:
1135         (WebCore::InspectorClient::InspectorClient):
1136
1137 2010-10-18  Andrei Popescu  <andreip@google.com>
1138
1139         Reviewed by Jeremy Orlow.
1140
1141         IDBKeyTree.h is no longer used.
1142         https://bugs.webkit.org/show_bug.cgi?id=47824
1143
1144         No new tests, just removing unused files.
1145
1146         * WebCore.gypi:
1147         * WebCore.xcodeproj/project.pbxproj:
1148         * storage/IDBKeyTree.h: Removed.
1149
1150 2010-10-18  Andreas Kling  <kling@webkit.org>
1151
1152         Unreviewed buildfix for Qt + V8.
1153         Add missing <wtf/text/CString.h> include.
1154
1155         * inspector/InspectorInstrumentation.cpp:
1156
1157 2010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>
1158
1159         Reviewed by Yury Semikhatsky.
1160
1161         Web Inspector: toJSON serialization for Numbers should be fixed.
1162         DecimalNumber is used instead of printf.
1163
1164         https://bugs.webkit.org/show_bug.cgi?id=43832
1165
1166         * inspector/InspectorValues.cpp:
1167         (WebCore::InspectorBasicValue::writeJSON):
1168
1169 2010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>
1170
1171         Reviewed by Yury Semikhatsky.
1172
1173         Web Inspector: [REGRESSION] Inspector window visible during run-webkit-tests.
1174         The initial state of an inspector setting should stay untouched
1175         if the profile has no value for it.
1176
1177         https://bugs.webkit.org/show_bug.cgi?id=47785
1178
1179         * inspector/InspectorState.cpp:
1180         (WebCore::InspectorState::loadFromSettings):
1181
1182 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
1183
1184         Reviewed by Yury Semikhatsky.
1185
1186         Web Inspector: tab headers on resource panel are 1px off on Mac.
1187         https://bugs.webkit.org/show_bug.cgi?id=47798
1188
1189         * inspector/front-end/inspector.css:
1190         (.tabbed-pane-header li):
1191
1192 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
1193
1194         Not reviewed. Build fix.
1195
1196         * inspector/InspectorResourceAgent.cpp:
1197         (WebCore::cachedResourceTypeString):
1198
1199 2010-10-17  Pavel Feldman  <pfeldman@chromium.org>
1200
1201         Reviewed by Yury Semikhatsky.
1202
1203         Web Inspector: Introduce InspectorResourceAgent.h/cpp and ResourceManager.js to
1204         fill network panel with data.
1205         https://bugs.webkit.org/show_bug.cgi?id=47779
1206         
1207         InspectorResourceAgent instance / JS part are introduced in this patch. Agent's lifetime is equal
1208         to the front-end's. This new resource agent does not have state, instead it covers two functions:
1209          1) forwards loader client messages to the front-end 2) is capable of building a tree of cached resources.
1210         (1) feeds network panel with data, (2) shows the resource tree in the new ResourcesPanel concept.
1211         This bug is for extracting this new InspectorResourceAgent class and its javascript counterpart.
1212         Once resources panel is refactored for the new concept, InspectorResource, InspectorController's
1213         resource-related routines, inspector.js's code dealing with resources, they all will be gone.
1214
1215         * WebCore.gypi:
1216         * WebCore.vcproj/WebCore.vcproj:
1217         * inspector/CodeGeneratorInspector.pm:
1218         * inspector/Inspector.idl:
1219         * inspector/InspectorApplicationCacheAgent.cpp:
1220         (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
1221         * inspector/InspectorController.cpp:
1222         (WebCore::InspectorController::connectFrontend):
1223         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
1224         (WebCore::InspectorController::didCommitLoad):
1225         (WebCore::InspectorController::frameDetachedFromParent):
1226         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1227         (WebCore::InspectorController::identifierForInitialRequest):
1228         (WebCore::InspectorController::willSendRequest):
1229         (WebCore::InspectorController::markResourceAsCached):
1230         (WebCore::InspectorController::didReceiveResponse):
1231         (WebCore::InspectorController::didReceiveContentLength):
1232         (WebCore::InspectorController::didFinishLoading):
1233         (WebCore::InspectorController::didFailLoading):
1234         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1235         (WebCore::InspectorController::scriptImported):
1236         (WebCore::InspectorController::didCreateWebSocket):
1237         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
1238         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
1239         (WebCore::InspectorController::didCloseWebSocket):
1240         * inspector/InspectorController.h:
1241         * inspector/InspectorResource.cpp:
1242         (WebCore::InspectorResource::updateResponse):
1243         (WebCore::cachedResourceType):
1244         (WebCore::InspectorResource::type):
1245         (WebCore::InspectorResource::sourceString):
1246         (WebCore::InspectorResource::sourceBytes):
1247         (WebCore::InspectorResource::endTiming):
1248         * inspector/InspectorResourceAgent.cpp:
1249         (WebCore::InspectorResourceAgent::resourceContent):
1250         (WebCore::InspectorResourceAgent::resourceContentBase64):
1251         (WebCore::InspectorResourceAgent::resourceData):
1252         (WebCore::InspectorResourceAgent::cachedResource):
1253         (WebCore::buildObjectForHeaders):
1254         (WebCore::buildObjectForTiming):
1255         (WebCore::buildObjectForResourceRequest):
1256         (WebCore::buildObjectForResourceResponse):
1257         (WebCore::buildObjectForMainResource):
1258         (WebCore::cachedResourceTypeString):
1259         (WebCore::buildObjectForCachedResource):
1260         (WebCore::buildObjectForFrameResources):
1261         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
1262         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
1263         (WebCore::InspectorResourceAgent::willSendRequest):
1264         (WebCore::InspectorResourceAgent::markResourceAsCached):
1265         (WebCore::InspectorResourceAgent::didReceiveResponse):
1266         (WebCore::InspectorResourceAgent::didReceiveContentLength):
1267         (WebCore::InspectorResourceAgent::didFinishLoading):
1268         (WebCore::InspectorResourceAgent::didFailLoading):
1269         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1270         (WebCore::InspectorResourceAgent::setOverrideContent):
1271         (WebCore::InspectorResourceAgent::didCommitLoad):
1272         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
1273         (WebCore::createReadableStringFromBinary):
1274         (WebCore::InspectorResourceAgent::didCreateWebSocket):
1275         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
1276         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
1277         (WebCore::InspectorResourceAgent::didCloseWebSocket):
1278         (WebCore::InspectorResourceAgent::cachedResources):
1279         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
1280         * inspector/InspectorResourceAgent.h:
1281         (WebCore::InspectorResourceAgent::create):
1282         * inspector/InspectorStyleSheet.cpp:
1283         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1284         * inspector/front-end/ExtensionServer.js:
1285         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
1286         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
1287         * inspector/front-end/Resource.js:
1288         (WebInspector.Resource.prototype.get responseReceivedTime):
1289         (WebInspector.Resource.prototype.set endTime):
1290         * inspector/front-end/Settings.js:
1291         * inspector/front-end/SourceView.js:
1292         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
1293         * inspector/front-end/WebKit.qrc:
1294         * inspector/front-end/inspector.css:
1295         (.tabbed-pane-header li):
1296         * inspector/front-end/inspector.html:
1297         * inspector/front-end/inspector.js:
1298         (WebInspector.updateResource):
1299         * loader/ResourceLoadNotifier.cpp:
1300         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1301         * loader/appcache/ApplicationCacheGroup.cpp:
1302         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1303
1304 2010-10-16  Pavel Feldman  <pfeldman@chromium.org>
1305
1306         Reviewed by Yury Semikhatsky.
1307
1308         Web Inspector: brush up URL parsing on the front-end.
1309         https://bugs.webkit.org/show_bug.cgi?id=47772
1310
1311         * inspector/InspectorResource.cpp:
1312         (WebCore::InspectorResource::updateScriptObject):
1313         * inspector/front-end/AuditRules.js:
1314         (WebInspector.AuditRules.getDomainToResourcesMap):
1315         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
1316         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
1317         (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
1318         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1319         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
1320         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
1321         * inspector/front-end/CookieItemsView.js:
1322         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
1323         * inspector/front-end/DOMAgent.js:
1324         (WebInspector.Cookies.cookieMatchesResourceURL):
1325         * inspector/front-end/Resource.js:
1326         (WebInspector.Resource):
1327         (WebInspector.Resource.prototype.set url):
1328         (WebInspector.Resource.prototype.get displayName):
1329         * inspector/front-end/ResourceCategory.js:
1330         (WebInspector.ResourceCategory.prototype.addResource):
1331         * inspector/front-end/ResourceView.js:
1332         (WebInspector.ResourceView):
1333         * inspector/front-end/inspector.js:
1334         (WebInspector.documentClick.followLink):
1335         (WebInspector.documentClick):
1336         (WebInspector.updateResource):
1337         (WebInspector.linkifyStringAsFragment):
1338         (WebInspector.resourceURLForRelatedNode):
1339         (WebInspector.completeURL):
1340         * inspector/front-end/utilities.js:
1341         (String.prototype.asParsedURL):
1342
1343 2010-10-17  Andreas Kling  <kling@webkit.org>
1344
1345         Reviewed by Kenneth Rohde Christiansen.
1346
1347         [Qt] Support custom open() verbs/methods in XMLHttpRequest
1348         https://bugs.webkit.org/show_bug.cgi?id=40476
1349
1350         Fall back to QNetworkAccessManager::CustomOperation for any HTTP verb
1351         that's not specifically supported by QNetworkAccessManager.
1352
1353         This prevents the infinite loop that otherwise occurs after sending
1354         an UnknownOperation request.
1355
1356         This change is covered by existing (skipped) tests that will be
1357         unskipped once the Qt bots are running Qt 4.7.
1358
1359         * platform/network/qt/QNetworkReplyHandler.cpp:
1360         (WebCore::QNetworkReplyHandler::httpMethod):
1361         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1362         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1363         * platform/network/qt/QNetworkReplyHandler.h:
1364
1365 2010-10-17  Adam Barth  <abarth@webkit.org>
1366
1367         Reviewed by Dimitri Glazkov.
1368
1369         Remove explicit passing of user gesture in NavigationScheduler
1370         https://bugs.webkit.org/show_bug.cgi?id=47786
1371
1372         As requested by Mr. Glazkov, remove more explicit passing of the user
1373         gesture state.  We now use a static to pass this information around.
1374
1375         * bindings/generic/BindingFrame.h:
1376         (WebCore::::navigateIfAllowed):
1377         * bindings/js/JSDOMWindowCustom.cpp:
1378         (WebCore::JSDOMWindow::setLocation):
1379         * bindings/js/JSLocationCustom.cpp:
1380         (WebCore::JSLocation::reload):
1381         * bindings/v8/custom/V8LocationCustom.cpp:
1382         (WebCore::V8Location::reloadCallback):
1383         * inspector/InspectorController.cpp:
1384         (WebCore::InspectorController::setResourceTrackingEnabled):
1385         (WebCore::InspectorController::reloadPage):
1386         * loader/NavigationScheduler.cpp:
1387         (WebCore::ScheduledNavigation::ScheduledNavigation):
1388         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
1389         (WebCore::ScheduledRedirect::ScheduledRedirect):
1390         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
1391         (WebCore::ScheduledRefresh::ScheduledRefresh):
1392         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
1393         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
1394         (WebCore::NavigationScheduler::scheduleRedirect):
1395         (WebCore::NavigationScheduler::mustLockBackForwardList):
1396         (WebCore::NavigationScheduler::scheduleLocationChange):
1397         (WebCore::NavigationScheduler::scheduleFormSubmission):
1398         (WebCore::NavigationScheduler::scheduleRefresh):
1399         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
1400         * loader/NavigationScheduler.h:
1401         * loader/SubframeLoader.cpp:
1402         (WebCore::SubframeLoader::loadOrRedirectSubframe):
1403
1404 2010-10-17  Julien Chaffraix  <jchaffraix@codeaurora.org>
1405
1406         Reviewed by Andreas Kling.
1407
1408         'transparent' should be a valid color
1409         https://bugs.webkit.org/show_bug.cgi?id=45482
1410
1411         Test: svg/animations/svg-animate-color-transparent.svg
1412
1413         Based on previous work by Jan Erik Hanssen  <jhanssen@codeaurora.org>
1414
1415         * platform/ColorData.gperf: Added 'transparent' to the list of colors.
1416         Added the alpha to all the colors as it was needed to support the new color.
1417
1418         * platform/graphics/Color.cpp:
1419         (WebCore::Color::Color):
1420         (WebCore::Color::setNamedColor): Avoid setting the alpha as now it is not
1421         always 0xFF.
1422
1423 2010-10-17  Justin Schuh  <jschuh@chromium.org>
1424
1425         Reviewed by Nikolas Zimmermann.
1426
1427         Duplicate use element children in shadow tree.
1428         https://bugs.webkit.org/show_bug.cgi?id=47561
1429
1430         Test: svg/custom/use-nested-children.svg
1431
1432         * svg/SVGUseElement.cpp:
1433         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1434
1435 2010-10-17  Hyung Song  <beergun@company100.net>
1436
1437         Reviewed by David Levin.
1438
1439         Add !SINGLE_THREADED guard.
1440         https://bugs.webkit.org/show_bug.cgi?id=47608
1441
1442         For SINGLE_THREADED ports LockingMutex.tryLock() returns false.
1443         This will prevent interrupt() from falling into infinite loop.
1444
1445         * platform/sql/SQLiteDatabase.cpp:
1446         (WebCore::SQLiteDatabase::interrupt):
1447
1448 2010-10-17  Simon Fraser  <simon.fraser@apple.com>
1449
1450         Reviewed by Nikolas Zimmermann.
1451
1452         Very large and small numbers fail to round-trip through CSS
1453         https://bugs.webkit.org/show_bug.cgi?id=20674
1454         
1455         Use the new DecimalNumber functionality to convert CSS numberic values to strings
1456         using decimal notation, rather than %g (which can output scientific notation).
1457
1458         Test: fast/css/round-trip-values.html
1459
1460         * css/CSSPrimitiveValue.cpp:
1461         (WebCore::formatNumber):
1462         (WebCore::CSSPrimitiveValue::cssText):
1463
1464 2010-10-17  Cosmin Truta  <ctruta@chromium.org>
1465
1466         Reviewed by Nikolas Zimmermann.
1467
1468         Crash while processing ill-formed SVG with cycles
1469         https://bugs.webkit.org/show_bug.cgi?id=47498
1470
1471         Test: svg/custom/invalid-paint-shape-mask.svg
1472
1473         * rendering/SVGResources.cpp:
1474         (paintingResourceFromSVGPaint): Ensured that the painting resource is
1475         either a pattern resource or a gradient resource.
1476         (SVGResources::setClipper):
1477         (SVGResources::setFilter):
1478         (SVGResources::setMarkerStart):
1479         (SVGResources::setMarkerMid):
1480         (SVGResources::setMarkerEnd):
1481         (SVGResources::setMasker):
1482         (SVGResources::setFill):
1483         (SVGResources::setStroke): Added ASSERT statements for previously-unchecked
1484         preconditions.
1485
1486 2010-10-17  Alex Milowski  <alex@milowski.com>
1487
1488         Reviewed by Kenneth Rohde Christiansen.
1489
1490         Fixed extra whitespace above operators when they aren't stretched
1491         yet the stretch height is large.  Also, the baseline alignment
1492         was changed so that rows and operators interact appropriately now
1493         that operators don't have the extra white space.
1494
1495         * mathml/RenderMathMLOperator.cpp:
1496         * mathml/RenderMathMLRow.cpp:
1497
1498 2010-10-17  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1499
1500         Reviewed by Antonio Gomes.
1501
1502         [Qt] Fix focusing of control elements on mouse click.
1503         Brings GTK fix to Qt platform.
1504         https://bugs.webkit.org/show_bug.cgi?id=40641
1505                         
1506         Test: fast/events/click-focus-control.html
1507
1508         * html/HTMLFormControlElement.cpp:
1509         (WebCore::HTMLFormControlElement::isMouseFocusable):
1510
1511 2010-10-17  Adam Barth  <abarth@webkit.org>
1512
1513         Reviewed by Dimitri Glazkov.
1514
1515         FrameLoader doesn't need an explicit userGesture parameter
1516         https://bugs.webkit.org/show_bug.cgi?id=47777
1517
1518         We used to pass around the user gesture state explicitly.  Now we use
1519         static state.  Explicitly passing the user gesture state to FrameLoader
1520         in these methods is pretty out-dated.
1521
1522         * bindings/ScriptControllerBase.cpp:
1523         (WebCore::ScriptController::executeIfJavaScriptURL):
1524         * bindings/generic/BindingDOMWindow.h:
1525         (WebCore::::createWindow):
1526         (WebCore::::open):
1527         * bindings/js/JSDOMWindowCustom.cpp:
1528         (WebCore::createWindow):
1529         (WebCore::JSDOMWindow::open):
1530         * bindings/js/JSDocumentCustom.cpp:
1531         (WebCore::JSDocument::setLocation):
1532         * bindings/js/ScriptController.h:
1533         * bindings/v8/ScriptController.h:
1534         * html/HTMLAnchorElement.cpp:
1535         (WebCore::handleLinkClick):
1536         * inspector/InspectorController.cpp:
1537         (WebCore::InspectorController::openInInspectedWindow):
1538         * loader/FrameLoader.cpp:
1539         (WebCore::FrameLoader::changeLocation):
1540         (WebCore::FrameLoader::urlSelected):
1541         (WebCore::FrameLoader::submitForm):
1542         * loader/FrameLoader.h:
1543         * loader/NavigationScheduler.cpp:
1544         (WebCore::ScheduledURLNavigation::fire):
1545         (WebCore::ScheduledRefresh::fire):
1546         (WebCore::ScheduledHistoryNavigation::fire):
1547         (WebCore::NavigationScheduler::scheduleLocationChange):
1548
1549 2010-10-17  Sergey A. Sukiyazov  <sergey.sukiyazov@gmail.com>
1550
1551         Reviewed by Andreas Kling
1552
1553         [Qt] Hovering the mouse over links produce a trail of underlined links (X11 paint engine)
1554         https://bugs.webkit.org/show_bug.cgi?id=42248
1555
1556         The problem will appear because coordinates of points may increase by 0.05f (if line width is odd) inside
1557         method GraphicsContext::adjustLineToPixelBoundaries(...) and become outside of text bounding rect htere,
1558         then the new point coordinates will be passed to Qt graphics engine.
1559
1560         The solution decreases Y cordinates of points inside drawLineForText(...) method only if Qt graphics engine
1561         is X11. The Y coordinates will be increase by 0.5f inside method adjustLineToPixelBoundaries(...),  which
1562         called from drawLine(...), and then inside Qt painting engine will be rounded to next greater integer value.
1563
1564         NOTE: This changes will affect only Qt X11 verision and if only X11 Painting Engine will be used.
1565
1566         No new tests.
1567
1568         * platform/graphics/qt/GraphicsContextQt.cpp:
1569         (WebCore::GraphicsContext::drawLineForText):
1570
1571 2010-10-17  Rob Buis  <rwlbuis@gmail.com>
1572
1573         Reviewed by Dirk Schulze.
1574
1575         Text under nested link dropped
1576         https://bugs.webkit.org/show_bug.cgi?id=46460
1577
1578         Allow links inside of tspan and textPath elements.
1579
1580         * svg/SVGTSpanElement.cpp:
1581         (WebCore::SVGTSpanElement::childShouldCreateRenderer):
1582         * svg/SVGTextPathElement.cpp:
1583         (WebCore::SVGTextPathElement::childShouldCreateRenderer):
1584
1585 2010-10-16  Kwang Yul Seo  <skyul@company100.net>
1586
1587         Reviewed by Kent Tamura.
1588
1589         [BREWMP] Port TextCodec
1590         https://bugs.webkit.org/show_bug.cgi?id=45797
1591
1592         Implement TextCodec with Brew MP's ICharsetConv.
1593         Only UTF-8 is supported for now.
1594
1595         * platform/text/TextEncoding.cpp:
1596         (WebCore::TextEncoding::encode):
1597         * platform/text/TextEncodingRegistry.cpp:
1598         (WebCore::buildBaseTextCodecMaps):
1599         * platform/text/brew/TextCodecBrew.cpp: Added.
1600         (WebCore::newTextCodecBrew):
1601         (WebCore::TextCodecBrew::registerBaseEncodingNames):
1602         (WebCore::TextCodecBrew::registerBaseCodecs):
1603         (WebCore::TextCodecBrew::registerExtendedEncodingNames):
1604         (WebCore::TextCodecBrew::registerExtendedCodecs):
1605         (WebCore::TextCodecBrew::TextCodecBrew):
1606         (WebCore::TextCodecBrew::~TextCodecBrew):
1607         (WebCore::TextCodecBrew::decode):
1608         (WebCore::TextCodecBrew::encode):
1609         * platform/text/brew/TextCodecBrew.h: Added.
1610
1611 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
1612
1613         Unreviewed.
1614
1615         Build fix for !ENABLE(INSPECTOR) after r69844.
1616
1617         * inspector/InspectorState.h: Added ENABLE(INSPECTOR) guard.
1618
1619 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
1620
1621         Unreviewed, build fix.
1622
1623         WinCE build fix for r69798.
1624
1625         * platform/text/wince/TextCodecWinCE.cpp: Added missing include.
1626
1627 2010-10-16  Johnny Ding  <jnd@chromium.org>
1628
1629         Reviewed by Adam Barth.
1630
1631         Requires a user gesture when opening file choose dialog.
1632         https://bugs.webkit.org/show_bug.cgi?id=47593
1633
1634         Test: fast/forms/input-file-not-open-without-gesture.html
1635
1636         * rendering/RenderFileUploadControl.cpp:
1637         (WebCore::RenderFileUploadControl::click):
1638
1639 2010-10-16  Alex Milowski  <alex@milowski.com>
1640
1641         Reviewed by Kenneth Rohde Christiansen.
1642
1643         Changed the vertical alignment within mfenced to baseline to
1644         match the rest of the containers (e.g. mrow) and adjusted the
1645         operator spacing to 0.1em.
1646
1647         Test: mathml/presentation/fenced-mi.xhtml
1648
1649         * css/mathml.css:
1650         * mathml/RenderMathMLFenced.cpp:
1651
1652 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
1653
1654         Reviewed by Adam Barth.
1655
1656         Rename StringHasherFunctions.h to StringHasher.h
1657         https://bugs.webkit.org/show_bug.cgi?id=47200
1658
1659         * ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
1660         * ForwardingHeaders/wtf/StringHasher.h: Copied from WebCore/ForwardingHeaders/wtf/StringHashFunctions.h. 
1661  
1662 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
1663
1664         Reviewed by Darin Adler.
1665
1666         unlink removes inline style of anchor elements
1667         https://bugs.webkit.org/show_bug.cgi?id=47424
1668
1669         The bug was caused by our not extracting styles when the anchor element is removed by removeInlineStyle.
1670         Because we removed the element without pushing its inline style down, we lost style information.
1671
1672         Fixed the bug by pushing down styles in removeInlineStyle as done in pushDownInlineStyleAroundNode.
1673         Also fixed a bug in addInlineStyleIfNeeded where StyleChange incorrectly removed styles of the container
1674         node as supposed to that of startNode from the style to apply when startNode is not an element.
1675
1676         Test: editing/execCommand/toggle-unlink.html
1677
1678         * editing/ApplyStyleCommand.cpp:
1679         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): To prevent a similar bug in the future,
1680         added an assert that extractedStyle is specified whenever we're removing a styled element.
1681         (WebCore::ApplyStyleCommand::removeInlineStyle):
1682         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1683
1684 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
1685
1686         Reviewed by Tony Chang.
1687
1688         serializeNodesWithNamespaces should be in MarkupAccumulator
1689         https://bugs.webkit.org/show_bug.cgi?id=47749
1690
1691         Moved serializeNodesWithNamespaces to MarkupAccumulator, and renamed it to serializeNodes.
1692         MarkupAccumulator::serializeNode now returns the resultant string instead of having a separate takeResults().
1693         Added several helper functions to MarkupAccumulator.
1694
1695         No new tests are added since this is a cleanup.
1696
1697         * editing/MarkupAccumulator.cpp:
1698         (WebCore::MarkupAccumulator::serializeNodes): Wrapper for serializeNodes and concatenateMarkup.
1699         (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Moved from markup.cpp
1700         (WebCore::MarkupAccumulator::appendStartTag): Calls appendString instead of appending into m_succeedingMarkup directly.
1701         (WebCore::MarkupAccumulator::appendEndTag): Ditto.
1702         (WebCore::MarkupAccumulator::totalLength): Added; extracted from takeResults.
1703         (WebCore::MarkupAccumulator::concatenateMarkup): Ditto.
1704         * editing/MarkupAccumulator.h:
1705         (WebCore::MarkupAccumulator::length): Added; calls totalLength.
1706         * editing/markup.cpp:
1707         (WebCore::StyledMarkupAccumulator::appendString): Added; calls MarkupAccumulator's appendString.
1708         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendString.
1709         (WebCore::StyledMarkupAccumulator::takeResults): Calls length, totalLength, and concatenateMarkup.
1710         (WebCore::StyledMarkupAccumulator::serializeNodes): Became a member function.
1711         (WebCore::createMarkup): Uses MarkupAccumulator.
1712
1713 2010-10-15  Kinuko Yasuda  <kinuko@google.com>
1714
1715         Reviewed by Jian Li.
1716
1717         Implement FileEntrySync.file() in FileSystem API
1718         https://bugs.webkit.org/show_bug.cgi?id=47310
1719
1720         Tests: fast/filesystem/workers/file-from-file-entry-sync.html
1721                fast/filesystem/workers/file-from-file-entry.html
1722
1723         * fileapi/DOMFileSystem.cpp:
1724         (WebCore::DOMFileSystem::createFile): Added.
1725         * fileapi/DOMFileSystem.h:
1726         * fileapi/DOMFileSystemSync.cpp:
1727         (WebCore::DOMFileSystemSync::createFile): Added.
1728         * fileapi/DOMFileSystemSync.h:
1729         * fileapi/DirectoryReaderBase.h: Added 'virtual path' comment.
1730         * fileapi/EntryBase.h: Added 'virtual path' comment.
1731         * fileapi/FileEntry.cpp:
1732         (WebCore::FileEntry::file): Changed to use DOMFileSystem::createFile.
1733         * fileapi/FileEntrySync.cpp:
1734         (WebCore::FileEntrySync::file): Implemented.
1735         * fileapi/FileEntrySync.h:
1736         * fileapi/FileEntrySync.idl: Added file().
1737
1738 2010-10-15  Nico Weber  <thakis@chromium.org>
1739
1740         Reviewed by Eric Carlson.
1741
1742         Make sure to update the current graphics context when calling out to AppKit.
1743         https://bugs.webkit.org/show_bug.cgi?id=47757
1744
1745         Like r57741, but for the spellchecking highlight
1746
1747         * platform/graphics/mac/GraphicsContextMac.mm:
1748         (WebCore::GraphicsContext::drawLineForTextChecking):
1749
1750 2010-10-15  Brian Weinstein  <bweinstein@apple.com>
1751
1752         Reviewed by Sam Weinig.
1753
1754         REGRESSION(r69850) Loading apple.com/startpage in WebKit on Windows gets a bad request.
1755         https://bugs.webkit.org/show_bug.cgi?id=47753
1756         <rdar://problem/8558242>
1757         
1758         r69850 switched over to a different way of concatenating WebCore strings, but ran into an issue
1759         where some Windows calls were returning null terminated strings, and this breaks the new
1760         method of concatenation.
1761         
1762         GetLocaleInfo returns a null-terminated string, but WebCore strings are non-null terminated,
1763         so once we create our WebCore string, we want to trim off the null terminating character before
1764         we return the localeInfo.
1765
1766         Test: fast/dom/navigator-userAgent.html
1767
1768         * platform/win/Language.cpp:
1769         (WebCore::localeInfo):
1770
1771 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
1772
1773         Trying to fix crashes on Leopard buildbot.
1774
1775         * loader/loader.cpp:
1776         (WebCore::Loader::Host::didFinishLoading):
1777         (WebCore::Loader::Host::didFail):
1778         Moved logging higher in the function - it seems that CachedResource can be already destroyed.
1779
1780         * platform/Logging.cpp: (WebCore::getChannelFromName):
1781         * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
1782         Initialize the new channel (oops).
1783
1784 2010-10-15  Mike Lawther  <mikelawther@chromium.org>
1785
1786         Reviewed by James Robinson.
1787
1788         Prevent scrollbars from appearing in iframes with scrolling=no
1789         when the embedded content has overflow:scroll set on the html
1790         or body tags.
1791
1792         iframes keep getting scrollbars with scrolling="no"
1793         https://bugs.webkit.org/show_bug.cgi?id=29240
1794
1795         Test: fast/frames/iframe-scrolling-attribute-overflowscroll.html
1796
1797         * page/FrameView.cpp:
1798         (WebCore::FrameView::calculateScrollbarModesForLayout)
1799         (WebCore::FrameView::updateCanHaveScrollbars):
1800         (WebCore::FrameView::layout):
1801         * page/FrameView.h:
1802         (WebCore::FrameView::calculateScrollbarModesForLayout)
1803
1804 2010-10-15  Dan Bernstein  <mitz@apple.com>
1805
1806         Reviewed by Adele Peterson.
1807
1808         Clean up RenderFlexibleBox::applyLineClamp()
1809         https://bugs.webkit.org/show_bug.cgi?id=47743
1810
1811         * rendering/RenderFlexibleBox.cpp:
1812         (WebCore::RenderFlexibleBox::applyLineClamp):
1813
1814 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
1815
1816         Reviewed by Darin Adler.
1817
1818         https://bugs.webkit.org/show_bug.cgi?id=47736
1819         <rdar://problem/8429396> WebCore cache gets corrupted if revalidation request starts at an inopportune time
1820
1821         Test: http/tests/cache/stopped-revalidation.html
1822
1823         * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): Copied logic for
1824         revalidation requests from didFail().
1825
1826 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
1827
1828         Reviewed by Darin Adler in <https://bugs.webkit.org/show_bug.cgi?id=47736>.
1829
1830         Add a logging channel for WebCore cache and resource loading.
1831
1832         Test: http/tests/cache/stopped-revalidation.html
1833
1834         * platform/Logging.cpp:
1835         * platform/Logging.h:
1836         Added a logging channel for Cache and Loader.
1837
1838         * loader/Cache.cpp:
1839         (WebCore::Cache::requestResource):
1840         (WebCore::Cache::revalidateResource):
1841         (WebCore::Cache::revalidationFailed):
1842         (WebCore::Cache::evict):
1843         * loader/CachedResource.cpp:
1844         (WebCore::CachedResource::setResourceToRevalidate):
1845         (WebCore::CachedResource::switchClientsToRevalidatedResource):
1846         (WebCore::CachedResource::mustRevalidate):
1847         Added logging.
1848
1849         * loader/loader.cpp:
1850         (WebCore::Loader::load): Added logging.
1851         (WebCore::Loader::scheduleServePendingRequests): Ditto.
1852         (WebCore::Loader::requestTimerFired): Ditto.
1853         (WebCore::Loader::servePendingRequests): Ditto.
1854         (WebCore::Loader::Host::servePendingRequests):  Changed logging to use the new channel.
1855         (WebCore::Loader::Host::didFinishLoading): Changed logging to use the new channel.
1856         (WebCore::Loader::Host::didFail): Added logging.
1857
1858 2010-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
1859
1860         Reviewed by Simon Fraser.
1861
1862         Add public functions to serialize TransformOperations.
1863         https://bugs.webkit.org/show_bug.cgi?id=47728
1864
1865         Added public accessors to the internal data of the TransformOperations.
1866
1867         No new tests. These functions are enablers for WebKit2.
1868
1869         * platform/graphics/transforms/Matrix3DTransformOperation.h:
1870         (WebCore::Matrix3DTransformOperation::matrix):
1871         * platform/graphics/transforms/MatrixTransformOperation.h:
1872         (WebCore::MatrixTransformOperation::matrix):
1873         * platform/graphics/transforms/PerspectiveTransformOperation.h:
1874         (WebCore::PerspectiveTransformOperation::perspective):
1875         * platform/graphics/transforms/RotateTransformOperation.h:
1876         (WebCore::RotateTransformOperation::x):
1877         (WebCore::RotateTransformOperation::y):
1878         (WebCore::RotateTransformOperation::z):
1879         * platform/graphics/transforms/SkewTransformOperation.h:
1880         (WebCore::SkewTransformOperation::angleX):
1881         (WebCore::SkewTransformOperation::angleY):
1882         * platform/graphics/transforms/TranslateTransformOperation.h:
1883         (WebCore::TranslateTransformOperation::x):
1884         (WebCore::TranslateTransformOperation::y):
1885         (WebCore::TranslateTransformOperation::z):
1886
1887 2010-10-15  Jian Li  <jianli@chromium.org>
1888
1889         Reviewed by Dmitry Titov.
1890
1891         FileReader.readAsDataURL should take Blob object
1892         https://bugs.webkit.org/show_bug.cgi?id=47679
1893
1894         Test cases have been added into read-blob-test-cases.js.
1895
1896         * fileapi/FileReader.idl: Update per the latest File API spec.
1897
1898 2010-10-15  Adam Barth  <abarth@webkit.org>
1899
1900         Reviewed by Eric Seidel.
1901
1902         Move MarkupAccumulator from markup.cpp to its own file
1903         https://bugs.webkit.org/show_bug.cgi?id=47734
1904
1905         This patch moves the MarkupAccumulator class into its own file.
1906         There's a lot of clean up left to do, but this patch is a step in the
1907         right direction.
1908
1909         No behavior change.
1910
1911         * Android.mk:
1912         * CMakeLists.txt:
1913         * GNUmakefile.am:
1914         * WebCore.gypi:
1915         * WebCore.pro:
1916         * WebCore.vcproj/WebCore.vcproj:
1917         * WebCore.xcodeproj/project.pbxproj:
1918         * editing/markup.cpp:
1919         (WebCore::elementCannotHaveEndTag):
1920         * editing/markup.h:
1921         * editing/MarkupAccumulator.h: Added.
1922         * editing/MarkupAccumulator.cpp: Added.
1923
1924 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
1925
1926         Reviewed by Darin Adler.
1927
1928         Match the elements supported by execCommand('formatBlock') and queryCommandValue('formatBlock')
1929         https://bugs.webkit.org/show_bug.cgi?id=47712
1930
1931         Extended queryCommandValue('formatBlock', false, null) to support article, aside, blockquote, dd, dl,
1932         div, dl, dt, dl, footer, header, hgroup, nav, and section. Because this makes isElementForFormatBlockCommand
1933         in Editor.cpp and FormatBlockCommand::isElementToApplyInFormatBlockCommand identical, they are merged and moved
1934         to FormatBlockCommand.cpp
1935
1936         Tests are added to editing/execCommand/query-format-block.html
1937
1938         * editing/Editor.cpp: Removed isElementForFormatBlockCommand and Editor::elementForFormatBlockCommand.
1939         * editing/Editor.h:
1940         * editing/EditorCommand.cpp:
1941         (WebCore::executeFormatBlock): Removed the check of tag name; the check is moved into FormatBlockCommand.
1942         (WebCore::valueFormatBlock): Calls FormatBlockCommand::elementForFormatBlockCommand.
1943         * editing/FormatBlockCommand.cpp:
1944         (WebCore::isElementForFormatBlock):
1945         (WebCore::FormatBlockCommand::FormatBlockCommand):
1946         (WebCore::FormatBlockCommand::formatSelection): Added to check the tag name. Exit early if the specified tag name
1947         is not what FormatBlock should apply. Set m_didApply true if m_didApply did apply the element.
1948         (WebCore::FormatBlockCommand::formatRange): Moved from Editor.cpp.  Takes Range* instead of accessing selection directly.
1949         (WebCore::FormatBlockCommand::elementForFormatBlockCommand): Moved from Editor.cpp
1950         (WebCore::enclosingBlockToSplitTreeTo): Calls isElementForFormatBlock.
1951         * editing/FormatBlockCommand.h:
1952         (WebCore::FormatBlockCommand::didApply): Added.
1953
1954 2010-10-15  Dirk Schulze  <krit@webkit.org>
1955
1956         Reviewed by Nikolas Zimmermann.
1957
1958         carto.net Dock example redraws *way* too often
1959         https://bugs.webkit.org/show_bug.cgi?id=16090
1960
1961         Setting the attributes x, y, width or height shouldn't cause a repaint if the image boundaries don't change.
1962         Added updateFromElement() to RenderSVGImage that checks if the old boundaries match the new boundaries after
1963         setting one of the attributes of above. Mark renderer for layout (and therefore repaint) if the boundaries
1964         differ, do nothing if not.
1965         Also added caching of the repaint rect to avoid multiple calculations.
1966
1967         Test: svg/custom/repaint-on-constant-size-change.svg
1968
1969         * rendering/RenderSVGImage.cpp:
1970         (WebCore::RenderSVGImage::RenderSVGImage):
1971         (WebCore::RenderSVGImage::layout): Update repaint rect on layout.
1972         (WebCore::RenderSVGImage::updateFromElement): Check SVGImageElement for boundaries update.
1973         * rendering/RenderSVGImage.h:
1974         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): Return the cached repaint rect.
1975         * svg/SVGImageElement.cpp:
1976         (WebCore::SVGImageElement::svgAttributeChanged): Call updateFromElement() on changes to x, y, width or height.
1977
1978 2010-10-15  Martin Robinson  <mrobinson@igalia.com>
1979
1980         Build fix for GTK+.
1981
1982         * platform/network/soup/cache/webkit/soup-cache.h: Do not use PLATFORM(...) macro
1983         in a file that does not include config.h
1984
1985 2010-10-15  Anders Carlsson  <andersca@apple.com>
1986
1987         Reviewed by Sam Weinig.
1988
1989         Add FindIndicatorWindow class
1990         https://bugs.webkit.org/show_bug.cgi?id=47731
1991
1992         Export symbols needed by the FindIndicator in WebKit2.
1993
1994         * WebCore.exp.in:
1995
1996 2010-10-15  Leandro Pereira  <leandro@profusion.mobi>
1997
1998         [EFL] Unreviewed. Build fix.
1999
2000         Add new files needed by the Soup network backend, and #ifdef a
2001         GTK+-port only include in soup-cache.h.
2002
2003         * CMakeListsEfl.txt:
2004         * platform/network/soup/cache/webkit/soup-cache.h:
2005
2006 2010-10-14  Darin Adler  <darin@apple.com>
2007
2008         Reviewed by Alexey Proskuryakov.
2009
2010         Use more specific types for node pointers, especially when calling node insertion and removal functions
2011         https://bugs.webkit.org/show_bug.cgi?id=47702
2012
2013         Refactoring. No new tests.
2014
2015         While developing this patch I temporarily removed the node insertion and
2016         removal member functions from the Node class and fixed almost all call sites
2017         so they call it directly on the ContainerNode class, which will be important
2018         once we make the functions non-virtual.
2019
2020         * css/CSSStyleSelector.cpp:
2021         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2022         * dom/ContainerNode.cpp:
2023         (WebCore::ContainerNode::insertBefore):
2024         (WebCore::ContainerNode::replaceChild):
2025         (WebCore::ContainerNode::appendChild):
2026         * dom/Document.cpp:
2027         (WebCore::Document::caretRangeFromPoint):
2028         * dom/DynamicNodeList.cpp:
2029         (WebCore::DynamicNodeList::itemWithName):
2030         * dom/Position.cpp:
2031         (WebCore::Position::previous):
2032         (WebCore::Position::next):
2033         * dom/Text.cpp:
2034         (WebCore::Text::replaceWholeText):
2035         * dom/TreeWalker.cpp:
2036         (WebCore::TreeWalker::firstChild):
2037         (WebCore::TreeWalker::lastChild):
2038         (WebCore::TreeWalker::previousNode):
2039         * dom/XMLDocumentParserLibxml2.cpp:
2040         (WebCore::XMLDocumentParser::XMLDocumentParser):
2041         * editing/BreakBlockquoteCommand.cpp:
2042         (WebCore::BreakBlockquoteCommand::doApply):
2043         * editing/CompositeEditCommand.h:
2044         * editing/DeleteButtonController.cpp:
2045         (WebCore::isDeletableElement):
2046         * editing/IndentOutdentCommand.cpp:
2047         (WebCore::IndentOutdentCommand::outdentParagraph):
2048         * editing/InsertNodeBeforeCommand.cpp:
2049         (WebCore::InsertNodeBeforeCommand::doApply):
2050         * editing/JoinTextNodesCommand.cpp:
2051         (WebCore::JoinTextNodesCommand::doApply):
2052         (WebCore::JoinTextNodesCommand::doUnapply):
2053         * editing/MergeIdenticalElementsCommand.cpp:
2054         (WebCore::MergeIdenticalElementsCommand::doUnapply):
2055         * editing/RemoveNodeCommand.cpp:
2056         (WebCore::RemoveNodeCommand::doApply):
2057         (WebCore::RemoveNodeCommand::doUnapply):
2058         * editing/RemoveNodeCommand.h:
2059         * editing/SplitElementCommand.cpp:
2060         (WebCore::SplitElementCommand::executeApply):
2061         * editing/SplitTextNodeCommand.cpp:
2062         (WebCore::SplitTextNodeCommand::doApply):
2063         (WebCore::SplitTextNodeCommand::doReapply):
2064         * editing/TextIterator.cpp:
2065         (WebCore::parentCrossingShadowBoundaries):
2066         * editing/htmlediting.cpp:
2067         (WebCore::enclosingList):
2068         * editing/markup.cpp:
2069         (WebCore::serializeNodes):
2070         (WebCore::ancestorToRetainStructureAndAppearance):
2071         (WebCore::createMarkup):
2072         * html/HTMLAreaElement.cpp:
2073         (WebCore::HTMLAreaElement::updateFocusAppearance):
2074         * html/HTMLEmbedElement.cpp:
2075         (WebCore::HTMLEmbedElement::rendererIsNeeded):
2076         * html/HTMLFormElement.cpp:
2077         (WebCore::HTMLFormElement::rendererIsNeeded):
2078         * html/HTMLFrameSetElement.cpp:
2079         (WebCore::HTMLFrameSetElement::attach):
2080         * html/HTMLImageElement.cpp:
2081         (WebCore::HTMLImageElement::insertedIntoTree):
2082         * html/HTMLLegendElement.cpp:
2083         (WebCore::HTMLLegendElement::associatedControl):
2084         * html/HTMLOptGroupElement.cpp:
2085         (WebCore::HTMLOptGroupElement::recalcSelectOptions):
2086         (WebCore::HTMLOptGroupElement::ownerSelectElement):
2087         * html/HTMLOptionElement.cpp:
2088         (WebCore::HTMLOptionElement::ownerSelectElement):
2089         * html/HTMLTableCellElement.cpp:
2090         (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
2091         * html/HTMLTableColElement.cpp:
2092         (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
2093         * html/HTMLTableElement.cpp:
2094         (WebCore::HTMLTableElement::insertRow):
2095         * html/HTMLTableRowElement.cpp:
2096         (WebCore::HTMLTableRowElement::rowIndex):
2097         * html/HTMLTableSectionElement.cpp:
2098         (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
2099         * page/DOMSelection.cpp:
2100         (WebCore::DOMSelection::getRangeAt):
2101         (WebCore::DOMSelection::containsNode):
2102         * rendering/RenderSVGGradientStop.cpp:
2103         (WebCore::RenderSVGGradientStop::gradientElement):
2104         * svg/SVGElement.cpp:
2105         (WebCore::SVGElement::ownerSVGElement):
2106         (WebCore::SVGElement::viewportElement):
2107         * svg/SVGFELightElement.cpp:
2108         (WebCore::SVGFELightElement::svgAttributeChanged):
2109         (WebCore::SVGFELightElement::childrenChanged):
2110         * svg/SVGFEMergeNodeElement.cpp:
2111         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
2112         * svg/SVGFontFaceFormatElement.cpp:
2113         (WebCore::SVGFontFaceFormatElement::childrenChanged):
2114         * svg/SVGFontFaceUriElement.cpp:
2115         (WebCore::SVGFontFaceUriElement::childrenChanged):
2116         * svg/SVGGlyphElement.cpp:
2117         (WebCore::SVGGlyphElement::invalidateGlyphCache):
2118         * svg/SVGHKernElement.cpp:
2119         (WebCore::SVGHKernElement::insertedIntoDocument):
2120         (WebCore::SVGHKernElement::removedFromDocument):
2121         * svg/SVGLocatable.cpp:
2122         (WebCore::SVGLocatable::nearestViewportElement):
2123         (WebCore::SVGLocatable::farthestViewportElement):
2124         * svg/SVGUseElement.cpp:
2125         (WebCore::SVGUseElement::updateContainerOffsets):
2126         * svg/SVGVKernElement.cpp:
2127         (WebCore::SVGVKernElement::insertedIntoDocument):
2128         (WebCore::SVGVKernElement::removedFromDocument):
2129         * svg/animation/SVGSMILElement.cpp:
2130         (WebCore::SVGSMILElement::targetElement):
2131         * wml/WMLDoElement.cpp:
2132         (WebCore::WMLDoElement::insertedIntoDocument):
2133         (WebCore::WMLDoElement::removedFromDocument):
2134         * wml/WMLNoopElement.cpp:
2135         (WebCore::WMLNoopElement::insertedIntoDocument):
2136         * wml/WMLOptionElement.cpp:
2137         (WebCore::ownerSelectElement):
2138         * wml/WMLPostfieldElement.cpp:
2139         (WebCore::WMLPostfieldElement::insertedIntoDocument):
2140         (WebCore::WMLPostfieldElement::removedFromDocument):
2141         * wml/WMLSetvarElement.cpp:
2142         (WebCore::WMLSetvarElement::insertedIntoDocument):
2143         (WebCore::WMLSetvarElement::removedFromDocument):
2144         * wml/WMLTaskElement.cpp:
2145         (WebCore::WMLTaskElement::insertedIntoDocument):
2146         (WebCore::WMLTaskElement::removedFromDocument):
2147         * wml/WMLTimerElement.cpp:
2148         (WebCore::WMLTimerElement::insertedIntoDocument):
2149         (WebCore::WMLTimerElement::removedFromDocument):
2150         * xml/XPathStep.cpp:
2151         (WebCore::XPath::Step::nodesInAxis):
2152         Use ContainerNode* for the result of the parentNode function now that
2153         it returns a ContainerNode*. In the past it used to return just Node*.
2154
2155         * dom/ContainerNode.h: Added toContainerNode.
2156
2157         * dom/Element.h: Use ContainerNode*. Added toElement.
2158
2159         * dom/Element.cpp:
2160         (WebCore::Element::deprecatedCreateContextualFragment): Explcitly
2161         cast to HTMLElement* in the case that handles <html> and <body>
2162         elements.
2163         (WebCore::Element::baseURI): Use ContainerNode*.
2164
2165         * dom/Node.cpp:
2166         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Use ContainerNode*.
2167         (WebCore::Node::isDescendantOf): Ditto.
2168         (WebCore::Node::createRendererIfNeeded): Ditto.
2169         (WebCore::Node::setTextContent): Use already-typecast pointer in a call to
2170         appendChild.
2171         (WebCore::Node::ancestorElement): Use ContainerNode*.
2172
2173         * dom/Range.cpp:
2174         (WebCore::Range::compareNode): Use ContainerNode*.
2175         (WebCore::Range::intersectsNode): Ditto.
2176         (WebCore::Range::processContents): Cast to ContainerNode* in a couple cases
2177         where we previously checked that the node in question has a child. Any node
2178         that returns a non-zero value for firstChild is a ContainerNode.
2179         (WebCore::Range::checkNodeBA): Ditto.
2180         (WebCore::Range::selectNode): Ditto.
2181         (WebCore::Range::surroundContents): Ditto.
2182
2183         * dom/XMLDocumentParser.cpp:
2184         (WebCore::XMLDocumentParser::insertErrorMessageBlock): Rewrote code to use
2185         more specific types, document instead of doc, and paragraph instead of par.
2186
2187         * editing/ApplyStyleCommand.cpp:
2188         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
2189         Use ContainerNode*.
2190         (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
2191         Use replaceElementWithSpanPreservingChildrenAndAttributes; the old function
2192         took a Node argument and had Node in its name.
2193
2194         * editing/CompositeEditCommand.cpp:
2195         (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Use ContainerNode.
2196         (WebCore::CompositeEditCommand::replaceElementWithSpanPreservingChildrenAndAttributes):
2197         Renamed and changed to take HTMLElement. Also use ContainerNode.
2198         (WebCore::CompositeEditCommand::prune): Ditto.
2199         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
2200         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Ditto.
2201
2202         * editing/ReplaceNodeWithSpanCommand.cpp:
2203         (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): Take an
2204         HTMLElement instead of a Node. Call it m_elementToReplace instead of m_node.
2205         (WebCore::swapInNodePreservingAttributesAndChildren): Take HTMLElement.
2206         (WebCore::ReplaceNodeWithSpanCommand::doApply): Updated for name changes.
2207         (WebCore::ReplaceNodeWithSpanCommand::doUnapply): Ditto.
2208         * editing/ReplaceNodeWithSpanCommand.h: Ditto.
2209
2210         * editing/ReplaceSelectionCommand.cpp:
2211         (WebCore::ReplacementFragment::ReplacementFragment): Use StyledElement for result
2212         of insertFragmentForTestRendering since that's what it returns.
2213         (WebCore::ReplacementFragment::removeNode): Use ContainerNode.
2214         (WebCore::ReplacementFragment::insertNodeBefore): Ditto.
2215         (WebCore::ReplacementFragment::insertFragmentForTestRendering): Return StyledElement.
2216         Use HTMLElement for body.
2217         (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment): Take
2218         StyledElement.
2219         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Use ContainerNode.
2220         (WebCore::ReplaceSelectionCommand::copyStyleToChildren): Use HTMLElement for
2221         the cloned span, since the clone will be a sspan too.
2222         (WebCore::ReplaceSelectionCommand::insertAsListItems): Use ContainerNode since
2223         the list item has a child, and that proves it is a ContainerNode.
2224
2225         * editing/SelectionController.cpp:
2226         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
2227         Use ContainerNode and also removed an unnneded local variable.
2228
2229         * html/HTMLElement.cpp:
2230         (WebCore::HTMLElement::setOuterText): Use ContainerNode.
2231         (WebCore::HTMLElement::insertAdjacent): Use ContainerNode and also use && to make
2232         the logic a little simpler.
2233         (WebCore::contextElementForInsertion): Use ContainerNode.
2234         (WebCore::HTMLElement::findFormAncestor): Ditto.
2235
2236         * inspector/InspectorDOMAgent.cpp:
2237         (WebCore::InspectorDOMAgent::removeNode): Use ContainerNode.
2238         (WebCore::InspectorDOMAgent::changeTagName): Ditto.
2239         (WebCore::InspectorDOMAgent::setOuterHTML): Ditto.
2240         (WebCore::InspectorDOMAgent::innerParentNode): Use isDocumentNode instead of
2241         nodeType. We should almost never use nodeType inside the engine.
2242         (WebCore::InspectorDOMAgent::didInsertDOMNode): Use ContainerNode.
2243         (WebCore::InspectorDOMAgent::didRemoveDOMNode): Ditto.
2244
2245         * wml/WMLOptGroupElement.cpp: Removed unneeded overrides of insertBefore,
2246         replaceChild, removeChild, appendChild, and removeChildren functions.
2247         Ths already overrides childrenChanged, that is called by all of the above,
2248         and it does the same thing these functions did.
2249         (WebCore::ownerSelectElement): Use ContainerNode.
2250         * wml/WMLOptGroupElement.h: Ditto.
2251
2252 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
2253
2254         Reviewed by Darin Adler.
2255
2256         Crash in WebCore::ApplyStyleCommand::applyBlockStyle
2257         https://bugs.webkit.org/show_bug.cgi?id=47699
2258
2259         The crash was caused by applyBlockStyle's invalidly assuming that visibleStart and visibleEnd always exist.
2260         Added an early exit to the function when either visibleStart or visibleEnd is null or orphaned.
2261
2262         Test: editing/style/block-style-progress-crash.html
2263
2264         * editing/ApplyStyleCommand.cpp:
2265         (WebCore::ApplyStyleCommand::applyBlockStyle):
2266
2267 2010-10-13  Anders Carlsson  <andersca@apple.com>
2268
2269         Reviewed by Sam Weinig.
2270
2271         Add a FindIndicator class
2272         https://bugs.webkit.org/show_bug.cgi?id=47635
2273
2274         Make Gradient.h and Generator.h private headers; they're used by WebKit2.
2275
2276         * WebCore.xcodeproj/project.pbxproj:
2277
2278 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
2279
2280         Reviewed by Gustavo Noronha Silva.
2281
2282         [Soup] Should not ignore body for redirection responses
2283         https://bugs.webkit.org/show_bug.cgi?id=29299
2284
2285         Body is now provided to WebKitGtk+ in some redirections (like 302)
2286         because it could be used by servers to perform clunky redirections
2287         for example using http-equiv=REFRESH
2288
2289         Test: http/tests/navigation/redirect302-metaredirect.html
2290
2291         * platform/network/soup/ResourceHandleSoup.cpp:
2292         (WebCore::gotHeadersCallback):
2293         (WebCore::finishedCallback):
2294
2295 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
2296
2297         Reviewed by Martin Robinson.
2298
2299         [GTK] Fix introspection support
2300         https://bugs.webkit.org/show_bug.cgi?id=47723
2301
2302         WebKitSoupCacheType was incorrectly registered twice. Renamed to
2303         WebKitSoupCacheTypeType for the enumerated type.
2304
2305         * platform/network/soup/cache/webkit/soup-cache.c:
2306         (webkit_soup_cache_type_get_type):
2307
2308 2010-10-15  Ilya Tikhonovsky  <loislo@chromium.org>
2309
2310         Reviewed by Yury Semikhatsky.
2311
2312         Web Inspector: extract consoleMessages related stuff from populateScriptObjects into separate function.
2313
2314         This is a part of Inspector protocol sanitization activity.
2315         We want to populate console messages only if it is required by frontend.
2316
2317         https://bugs.webkit.org/show_bug.cgi?id=46802
2318
2319         * inspector/Inspector.idl:
2320         * inspector/InspectorController.cpp:
2321         (WebCore::InspectorController::setConsoleMessagesEnabled):
2322         (WebCore::InspectorController::addConsoleMessage):
2323         (WebCore::InspectorController::disconnectFrontend):
2324         (WebCore::InspectorController::populateScriptObjects):
2325         * inspector/InspectorController.h:
2326         * inspector/InspectorState.cpp:
2327         (WebCore::InspectorState::InspectorState):
2328         * inspector/InspectorState.h:
2329         * inspector/front-end/inspector.js:
2330         (WebInspector.doLoadedDone):
2331
2332 2010-10-15  Ryuan Choi  <ryuan.choi@samsung.com>
2333
2334         Reviewed by Nikolas Zimmermann.
2335
2336         [EFL] REGRESSION(69798) UCHAR can't be converted to String.
2337         https://bugs.webkit.org/show_bug.cgi?id=47698
2338
2339         Create String value using String(const char*, 1) instead of operator[].
2340
2341         No tests. No functionality changed.
2342
2343         * platform/efl/PlatformKeyboardEventEfl.cpp:
2344         (WebCore::createWindowsKeyMap):
2345
2346 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
2347
2348         Reviewed by Xan Lopez.
2349
2350         [GTK] Do a stricter check for invalid base64 dataURLs
2351         https://bugs.webkit.org/show_bug.cgi?id=47717
2352
2353         Restore the strict base64 decoding we added in
2354         https://bugs.webkit.org/show_bug.cgi?id=44261 and then rolled back
2355         in https://bugs.webkit.org/show_bug.cgi?id=47666 due to a failing
2356         test. The actual issue was that we were not finishing the load of
2357         the resource gracefully when an error happened.
2358
2359         Loading invalid base64-encoded data:// URLs are now handled
2360         properly.
2361
2362         * platform/network/soup/ResourceHandleSoup.cpp:
2363         (WebCore::parseDataUrl):
2364         * platform/network/soup/cache/soup-request-data.c:
2365         (webkit_soup_request_data_send):
2366
2367 2010-10-15  Alejandro G. Castro  <alex@igalia.com>
2368
2369         Reviewed by Martin Robinson.
2370
2371         compile fail with gtk >= 2.22
2372         https://bugs.webkit.org/show_bug.cgi?id=47483
2373
2374         * platform/graphics/gtk/FontGtk.cpp: Removed the shrink operation,
2375         it was added long time ago and currently it is not adding any real
2376         area to the clip vertically, actually the gtk3 shrink version did
2377         not work.
2378         (WebCore::Font::drawComplexText):
2379         * platform/gtk/gtk2drawing.c: Undef the deprecation flags, this
2380         file is full of gtk2 stuff, and it does not seem interesting to
2381         upgrade because we are already creating a new version of the file
2382         for gtk3.
2383
2384 2010-10-14  Ilya Tikhonovsky  <loislo@chromium.org>
2385
2386         Reviewed by Pavel Feldman.
2387
2388         Web Inspector: inspector settings/properties/states management
2389         should be extracted into separate class.
2390
2391         We have a lot of flags/values in InspectorController.
2392         Some flags are persisting into profile.
2393         Others are part of inspector state for frontend.
2394         All these flags should keep their values after navigation.
2395         It'd be better to extract these flags/values into separate
2396         class which will care about theirs lifetime.
2397
2398         https://bugs.webkit.org/show_bug.cgi?id=47275
2399
2400         * CMakeLists.txt:
2401         * GNUmakefile.am:
2402         * WebCore.exp.in:
2403         * WebCore.gypi:
2404         * WebCore.pro:
2405         * WebCore.vcproj/WebCore.vcproj:
2406         * WebCore.xcodeproj/project.pbxproj:
2407         * inspector/InspectorController.cpp:
2408         (WebCore::InspectorController::InspectorController):
2409         (WebCore::InspectorController::inspectorStartsAttached):
2410         (WebCore::InspectorController::setInspectorStartsAttached):
2411         (WebCore::InspectorController::setInspectorAttachedHeight):
2412         (WebCore::InspectorController::inspectorAttachedHeight):
2413         (WebCore::InspectorController::searchingForNodeInPage):
2414         (WebCore::InspectorController::resourceTrackingEnabled):
2415         (WebCore::InspectorController::saveApplicationSettings):
2416         (WebCore::InspectorController::getInspectorState):
2417         (WebCore::InspectorController::restoreInspectorStateFromCookie):
2418         (WebCore::InspectorController::getSettings):
2419         (WebCore::InspectorController::storeLastActivePanel):
2420         (WebCore::InspectorController::mouseDidMoveOverElement):
2421         (WebCore::InspectorController::handleMousePress):
2422         (WebCore::InspectorController::setSearchingForNode):
2423         (WebCore::InspectorController::setMonitoringXHREnabled):
2424         (WebCore::InspectorController::showPanel):
2425         (WebCore::InspectorController::disconnectFrontend):
2426         (WebCore::InspectorController::populateScriptObjects):
2427         (WebCore::InspectorController::restoreDebugger):
2428         (WebCore::InspectorController::restoreProfiler):
2429         (WebCore::InspectorController::getTrackedResource):
2430         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2431         (WebCore::InspectorController::identifierForInitialRequest):
2432         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
2433         (WebCore::InspectorController::scriptImported):
2434         (WebCore::InspectorController::setResourceTrackingEnabled):
2435         (WebCore::InspectorController::ensureSettingsLoaded):
2436         (WebCore::InspectorController::startTimelineProfiler):
2437         (WebCore::InspectorController::stopTimelineProfiler):
2438         (WebCore::InspectorController::enableProfiler):
2439         (WebCore::InspectorController::disableProfiler):
2440         (WebCore::InspectorController::enableDebuggerFromFrontend):
2441         (WebCore::InspectorController::disableDebugger):
2442         (WebCore::InspectorController::loadBreakpoints):
2443         (WebCore::InspectorController::saveBreakpoints):
2444         * inspector/InspectorController.h:
2445         * inspector/InspectorFrontendClientLocal.cpp:
2446         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
2447         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
2448         * inspector/InspectorState.cpp: Added.
2449         (WebCore::InspectorState::InspectorState):
2450         (WebCore::InspectorState::restoreFromInspectorCookie):
2451         (WebCore::InspectorState::generateStateObjectForFrontend):
2452         (WebCore::InspectorState::loadFromSettings):
2453         (WebCore::InspectorState::updateCookie):
2454         (WebCore::InspectorState::setValue):
2455         (WebCore::InspectorState::getBoolean):
2456         (WebCore::InspectorState::getString):
2457         (WebCore::InspectorState::getLong):
2458         (WebCore::InspectorState::registerBoolean):
2459         (WebCore::InspectorState::registerString):
2460         (WebCore::InspectorState::registerLong):
2461         (WebCore::InspectorState::Property::create):
2462         * inspector/InspectorState.h: Added.
2463         (WebCore::InspectorState::setBoolean):
2464         (WebCore::InspectorState::setString):
2465         (WebCore::InspectorState::setLong):
2466
2467 2010-10-14  Jia Pu  <jpu@apple.com>
2468
2469         Reviewed by Adele Peterson.
2470
2471         REGRESSION (r69548): Autocorrections are applied even after typing further characters in the word
2472         https://bugs.webkit.org/show_bug.cgi?id=47689
2473         <rdar://problem/8552250>
2474
2475         The test requires using setTimeout(). So we put it in manual-tests.
2476
2477         * editing/Editor.cpp:
2478         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Relpace release() with clear().
2479         (WebCore::Editor::startCorrectionPanelTimer): Release previously set correction range before
2480           start timer for next autocorrection check.
2481         * manual-tests/autocorrection: Added.
2482         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Added.
2483
2484 2010-10-14  Ryosuke Niwa  <rniwa@webkit.org>
2485
2486         Reviewed by Tony Chang and Darin Adler.
2487
2488         execCommand FormatBlock creates lots of blockquotes
2489         https://bugs.webkit.org/show_bug.cgi?id=19795
2490
2491         The bug was caused by WebKit's not reusing the block node added by previous iteration
2492         and its inserting block node at wrong places.
2493
2494         Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
2495         IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
2496         avoids the existing block elements when replacing blocks and it also adds a placeholder
2497         when removing the existing block caused paragraphs to collapse.
2498
2499         Also fixed a bug in moveParagraphWithClones where erroneous br is added to the start of
2500         the block element to which the paragraph is moved if the block element is the start of a paragraph
2501         and not the end of a paragraph.
2502
2503         Tests: editing/execCommand/format-block-multiple-paragraphs.html
2504                editing/execCommand/format-block-table.html
2505
2506         * editing/CompositeEditCommand.cpp:
2507         (WebCore::CompositeEditCommand::moveParagraphWithClones): No longer adds erroneous br.
2508         * editing/EditorCommand.cpp:
2509         (WebCore::executeFormatBlock):
2510         * editing/FormatBlockCommand.cpp:
2511         (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
2512         (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
2513         and moved from htmlediting.cpp.
2514         (WebCore::enclosingBlockToSplitTreeTo): Added.
2515         * editing/FormatBlockCommand.h:
2516         * editing/VisiblePosition.cpp:
2517         (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
2518         * editing/VisiblePosition.h:
2519
2520 2010-10-14  Justin Schuh  <jschuh@chromium.org>
2521
2522         Reviewed by James Robinson.
2523
2524         Crash in HTMLTextFormControlElement::selection()
2525         https://bugs.webkit.org/show_bug.cgi?id=47522
2526
2527         Patch by Ryosuke Niwa  <rniwa@webkit.org>
2528
2529         The bug was caused by our triggering layout inside RenderTextControl::selection.
2530         Fixed it by changing the return type of RenderTextControl::selection to PassRefPtr<Range> from VisibleSelection.
2531
2532         Test: fast/forms/render-text-crash.html
2533
2534         * editing/Editor.cpp:
2535         (WebCore::Editor::selectionForCommand): Calls HTMLTextFormControlElement::selection.
2536         * html/HTMLFormControlElement.cpp:
2537         (WebCore::HTMLTextFormControlElement::selection): Calls RenderTextControl::selection.
2538         * html/HTMLFormControlElement.h:
2539         * rendering/RenderTextControl.cpp:
2540         (WebCore::RenderTextControl::selection): Changed the return type.
2541         * rendering/RenderTextControl.h:
2542
2543 2010-10-14  James Robinson  <jamesr@chromium.org>
2544
2545         Reviewed by Simon Fraser.
2546
2547         SelectElement should check if its renderer exists after calling Element::focus()
2548         https://bugs.webkit.org/show_bug.cgi?id=47696
2549
2550         Adds null checks for element->renderer() after calling element->focus(), since focus()
2551         can dispatch an event and run arbitrary javascript that may cause the select element
2552         to lose its renderer.
2553
2554         Test: fast/forms/select-listbox-focus-displaynone.html
2555
2556         * dom/SelectElement.cpp:
2557         (WebCore::SelectElement::menuListDefaultEventHandler):
2558         (WebCore::SelectElement::listBoxDefaultEventHandler):
2559
2560 2010-10-14  Beth Dakin  <bdakin@apple.com>
2561
2562         Reviewed by Dave Hyatt.
2563
2564         This patch lays the groundwork for 
2565         https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should 
2566         affect scrolling
2567         by adding topmostPosition().
2568
2569         * rendering/RenderBlock.cpp:
2570         (WebCore::RenderBlock::topmostPosition):
2571         * rendering/RenderBlock.h:
2572         * rendering/RenderBox.cpp:
2573         (WebCore::RenderBox::topmostPosition):
2574         * rendering/RenderBox.h:
2575         * rendering/RenderMedia.cpp:
2576         (WebCore::RenderMedia::topmostPosition):
2577         * rendering/RenderMedia.h:
2578         * rendering/RenderTableSection.cpp:
2579         (WebCore::RenderTableSection::topmostPosition):
2580         * rendering/RenderTableSection.h:
2581
2582 2010-10-14  Sergio Villar Senin  <svillar@igalia.com>
2583
2584         Reviewed by Martin Robinson.
2585
2586         [GTK] fix compilation warnings in imported libsoup code
2587         https://bugs.webkit.org/show_bug.cgi?id=47674
2588
2589         Fixed some warnings caused by comparisons between signed and
2590         unsigned integer expressions
2591
2592         * platform/network/soup/cache/soup-directory-input-stream.c:
2593         (webkit_soup_directory_input_stream_read):
2594         * platform/network/soup/cache/soup-request-data.c:
2595         (webkit_soup_request_data_send):
2596         * platform/network/soup/cache/soup-request-file.c:
2597         (webkit_soup_request_file_ensure_file):
2598         * platform/network/soup/cache/webkit/soup-cache.c:
2599         (webkit_soup_cache_entry_is_fresh_enough):
2600         (webkit_soup_cache_has_response):
2601
2602 2010-10-14  Andreas Kling  <kling@webkit.org>
2603
2604         Unreviewed buildfix, RetainPtr is a mac thing..
2605
2606         * platform/network/soup/ProxyServerSoup.cpp:
2607
2608 2010-10-08  Martin Robinson  <mrobinson@igalia.com>
2609
2610         Reviewed by Xan Lopez.
2611
2612         [GTK] Form controls do not respect GTK+ font size
2613         https://bugs.webkit.org/show_bug.cgi?id=47134
2614
2615         Have form controls use the font specified in GtkSettings. This font is
2616         the default control font in GTK+ applications and Firefox. We need to
2617         pass the string through Pango to get a valid font name and size.
2618
2619         * platform/gtk/RenderThemeGtk.cpp:
2620         (WebCore::getScreenDPI): A helper function which returns
2621         the DPI of the default screen or 96 as a fallback.
2622         (WebCore::RenderThemeGtk::systemFont): Calculate the system font
2623         by looking at the GtkSettings value and pushing it through Pango
2624         to get the font family and font size.
2625
2626 2010-10-14  Andreas Kling  <kling@webkit.org>
2627
2628         Soup buildfix for r69808: add ProxyServer stub.
2629
2630         * GNUmakefile.am:
2631         * platform/network/soup/ProxyServerSoup.cpp: Added.
2632         (WebCore::proxyServersForURL):
2633
2634 2010-10-14  Andreas Kling  <kling@webkit.org>
2635
2636         Fix GTK+ build after r69808.
2637
2638         * GNUmakefile.am:
2639         * platform/network/curl/ProxyServerCurl.cpp:
2640         (WebCore::proxyServersForURL):
2641
2642 2010-10-14  Simon Fraser  <simon.fraser@apple.com>
2643
2644         Another build fix. Export FrameLoader::networkingContext()
2645
2646         * WebCore.exp.in:
2647
2648 2010-10-14  Simon Fraser  <simon.fraser@apple.com>
2649
2650         Fix the build after r69808.
2651         
2652         * WebCore.xcodeproj/project.pbxproj:
2653         * platform/network/cf/ProxyServerCFNet.cpp:
2654         (WebCore::proxyServersForURL):
2655
2656 2010-10-14  Gavin Barraclough  <barraclough@apple.com>
2657
2658         Windows build fix following r69806.
2659
2660         * platform/win/ClipboardUtilitiesWin.cpp:
2661         (WebCore::markupToCFHTML):
2662
2663 2010-10-14  Dawit Alemayehu  <adawit@kde.org>
2664
2665         Reviewed by Andreas Kling
2666
2667         Implemented NPN_GetValueForURL and NPN_SetValueForURL and NPN_GetAuthenticationInfo.
2668         https://bugs.webkit.org/show_bug.cgi?id=34539
2669
2670         These missing NPN functions cause Java applets to crash in ports such
2671         as QtWebkit that rely on webkit for Java applet support.
2672
2673         * plugins/PluginDebug.cpp:
2674         (WebCore::prettyNameForNPNURLVariable):
2675         * plugins/PluginDebug.h:
2676         * plugins/PluginPackage.cpp:
2677         (WebCore::PluginPackage::initializeBrowserFuncs):
2678         * plugins/PluginView.cpp:
2679         (WebCore::PluginView::getValueForURL):
2680         (WebCore::PluginView::setValueForURL):
2681         (WebCore::PluginView::getAuthenticationInfo):
2682         * plugins/PluginView.h:
2683         * plugins/npapi.cpp:
2684         (NPN_GetValueForURL):
2685         (NPN_SetValueForURL):
2686         (NPN_GetAuthenticationInfo):
2687         * platform/network/ProxyServer.h:
2688         * platform/network/cf/ProxyServerCFNet.cpp:
2689         (WebCore::proxyServersForURL):
2690         * platform/network/qt/ProxyServerQt.cpp:
2691         (WebCore::proxyServersForURL):
2692  
2693 2010-10-14  Gavin Barraclough  <barraclough@apple.com>
2694
2695         Windows build fix following r69806.
2696
2697         * platform/win/ClipboardUtilitiesWin.cpp:
2698         (WebCore::markupToCFHTML):
2699
2700 2010-10-14  Zhenyao Mo  <zmo@google.com>
2701
2702         Reviewed by Kenneth Russell.
2703
2704         Cache link status at linkProgram and use it in useProgram instead of querying GPU
2705         https://bugs.webkit.org/show_bug.cgi?id=47685
2706
2707         * html/canvas/WebGLProgram.cpp: Always cache link status at linkStatus and use it upon query.
2708         (WebCore::WebGLProgram::WebGLProgram):
2709         * html/canvas/WebGLProgram.h: Ditto.
2710         (WebCore::WebGLProgram::getLinkStatus):
2711         (WebCore::WebGLProgram::setLinkStatus):
2712         * html/canvas/WebGLRenderingContext.cpp: Ditto.
2713         (WebCore::WebGLRenderingContext::getProgramParameter):
2714         (WebCore::WebGLRenderingContext::linkProgram):
2715         (WebCore::WebGLRenderingContext::useProgram):
2716
2717 2010-10-14  Justin Schuh  <jschuh@chromium.org>
2718
2719         Reviewed by James Robinson.
2720
2721         Style fix for r69735
2722         https://bugs.webkit.org/show_bug.cgi?id=47684
2723
2724         No logic change. Existing tests apply.
2725
2726         * rendering/RootInlineBox.cpp:
2727         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2728
2729 2010-10-14  Yury Semikhatsky  <yurys@chromium.org>
2730
2731         Reviewed by Pavel Feldman.
2732
2733         Web Inspector: encapsulate ScriptState into ConsoleMessage instead of passing it as additional parameter
2734         https://bugs.webkit.org/show_bug.cgi?id=47675
2735
2736         No new tests. This refactoring is covered by existing inspector tests.
2737
2738         * bindings/js/JSConsoleCustom.cpp:
2739         * bindings/js/ScriptCallFrame.cpp:
2740         * bindings/js/ScriptCallFrame.h:
2741         (WebCore::ScriptCallFrame::functionName):
2742         (WebCore::ScriptCallFrame::sourceURL):
2743         (WebCore::ScriptCallFrame::lineNumber):
2744         (WebCore::ScriptCallFrame::argumentCount):
2745         * inspector/ConsoleMessage.cpp:
2746         (WebCore::ConsoleMessage::isEqual):
2747         * inspector/ConsoleMessage.h:
2748         * inspector/InspectorController.cpp:
2749         (WebCore::InspectorController::addMessageToConsole):
2750         (WebCore::InspectorController::addConsoleMessage):
2751         (WebCore::InspectorController::startGroup):
2752         (WebCore::InspectorController::endGroup):
2753         * inspector/InspectorController.h:
2754
2755 2010-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
2756
2757         Reviewed by Gavin Barraclough.
2758
2759         Replace lots of String::format() usages by StringConcatenate
2760         https://bugs.webkit.org/show_bug.cgi?id=47664
2761
2762         * ForwardingHeaders/wtf/text/StringConcatenate.h: Added.
2763         * bindings/js/JSDOMWindowBase.cpp:
2764         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
2765         * bindings/v8/V8Proxy.cpp:
2766         (WebCore::V8Proxy::reportUnsafeAccessTo):
2767         * dom/ExceptionBase.cpp:
2768         (WebCore::ExceptionBase::ExceptionBase):
2769         * dom/XMLDocumentParser.cpp:
2770         (WebCore::XMLDocumentParser::handleError):
2771         * history/PageCache.cpp:
2772         (WebCore::logCanCacheFrameDecision):
2773         * html/FTPDirectoryDocument.cpp:
2774         (WebCore::processFileDateString):
2775         * inspector/CodeGeneratorInspector.pm:
2776         * inspector/InspectorController.cpp:
2777         (WebCore::InspectorController::didReceiveResponse):
2778         (WebCore::InspectorController::count):
2779         * inspector/InspectorDOMAgent.cpp:
2780         (WebCore::InspectorDOMAgent::createBreakpointId):
2781         * inspector/InspectorDebuggerAgent.cpp:
2782         (WebCore::formatBreakpointId):
2783         * inspector/InspectorProfilerAgent.cpp:
2784         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
2785         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
2786         (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
2787         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
2788         * loader/CachedResourceLoader.cpp:
2789         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
2790         * loader/FrameLoader.cpp:
2791         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
2792         (WebCore::FrameLoader::checkIfRunInsecureContent):
2793         (WebCore::FrameLoader::shouldAllowNavigation):
2794         * loader/archive/cf/LegacyWebArchive.cpp:
2795         (WebCore::LegacyWebArchive::createFromSelection):
2796         * page/DOMWindow.cpp:
2797         (WebCore::DOMWindow::postMessageTimerFired):
2798         * page/PrintContext.cpp:
2799         (WebCore::PrintContext::pageProperty):
2800         (WebCore::PrintContext::pageSizeAndMarginsInPixels):
2801         * page/XSSAuditor.cpp:
2802         (WebCore::XSSAuditor::canLoadObject):
2803         * platform/efl/PlatformKeyboardEventEfl.cpp:
2804         (WebCore::createKeyMap):
2805         (WebCore::createWindowsKeyMap):
2806         * platform/graphics/GraphicsLayer.cpp:
2807         (WebCore::GraphicsLayer::animationNameForTransition):
2808         * platform/graphics/brew/ImageBrew.cpp:
2809         (WebCore::Image::loadPlatformResource):
2810         * platform/graphics/cg/ImageBufferCG.cpp:
2811         (WebCore::ImageBuffer::toDataURL):
2812         * platform/graphics/efl/ImageEfl.cpp:
2813         (WebCore::loadResourceSharedBuffer):
2814         * platform/graphics/gtk/ImageBufferGtk.cpp:
2815         (WebCore::ImageBuffer::toDataURL):
2816         * platform/graphics/haiku/ImageBufferHaiku.cpp:
2817         (WebCore::ImageBuffer::toDataURL):
2818         * platform/graphics/mac/GraphicsLayerCA.mm:
2819         (WebCore::animationIdentifier):
2820         * platform/graphics/qt/ImageBufferQt.cpp:
2821         (WebCore::ImageBuffer::toDataURL):
2822         * platform/graphics/skia/ImageBufferSkia.cpp:
2823         (WebCore::ImageBuffer::toDataURL):
2824         * platform/graphics/win/WebLayer.cpp:
2825         (WebCore::WebLayer::drawInContext):
2826         * platform/network/CredentialStorage.cpp:
2827         (WebCore::originStringFromURL):
2828         * platform/sql/SQLiteDatabase.cpp:
2829         (WebCore::SQLiteDatabase::setSynchronous):
2830         * platform/text/wince/TextCodecWinCE.cpp:
2831         (WebCore::LanguageManager::LanguageManager):
2832         * platform/win/ClipboardUtilitiesWin.cpp:
2833         (WebCore::markupToCFHTML):
2834         * platform/win/Language.cpp:
2835         (WebCore::defaultLanguage):
2836         * plugins/PluginStream.cpp:
2837         (WebCore::PluginStream::startStream):
2838         * svg/SVGUseElement.cpp:
2839         (WebCore::dumpInstanceTree):
2840         * websockets/WebSocket.cpp:
2841         (WebCore::WebSocket::connect):
2842         * websockets/WebSocketChannel.cpp:
2843         (WebCore::WebSocketChannel::appendToBuffer):
2844         * websockets/WebSocketHandshake.cpp:
2845         (WebCore::WebSocketHandshake::readServerHandshake):
2846
2847 2010-10-14  Xan Lopez  <xlopez@igalia.com>
2848
2849         Reviewed by Martin Robinson.
2850
2851         [GTK] Small cleanup in PluginViewGtk
2852         https://bugs.webkit.org/show_bug.cgi?id=47588
2853
2854         Remove some dead code and use PlatformRefPtr for cairo surfaces.
2855
2856         No new tests, only refactoring.
2857
2858         * plugins/gtk/PluginViewGtk.cpp:
2859         (WebCore::PluginView::paint):
2860
2861 2010-10-14  Dawit Alemayehu  <adawit@kde.org>
2862
2863         Reviewed by Andreas Kling.
2864
2865         Fix compile error when bulding webkit's Qt port using the "--v8" option.
2866         https://bugs.webkit.org/show_bug.cgi?id=47455
2867
2868         * platform/qt/PlatformBridge.h:
2869
2870 2010-10-01  Martin Robinson  <mrobinson@igalia.com>
2871
2872         Reviewed by Holger Freyther.
2873
2874         [GTK] REGRESSION: FreeType backend does not respect XSettings font settings after r68558
2875         https://bugs.webkit.org/show_bug.cgi?id=47033
2876
2877         Fix logic that merges XSettings defaults and FontConfig settings. If
2878         FontConfig or XSettings specifies a subpixel order, we force subpixel
2879         anti-aliasing on. If anti-aliasing is turned on explicitly, only
2880         override the setting if it was previously off, otherwise we ignore
2881         the user's preference for subpixel or gray antialiasing.
2882
2883         Test: platform/gtk/fonts/xsettings_antialias_settings.html
2884
2885         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
2886         (WebCore::setCairoFontOptionsFromFontConfigPattern): Fix merging of XSettings
2887         and FontConfig anti-aliasing settings.
2888         (WebCore::getDefaultFontOptions): Added this helper.
2889         (WebCore::FontPlatformData::FontPlatformData): Use the getDefaultFontOptions helper.
2890
2891 2010-10-14  Jian Li  <jianli@chromium.org>
2892
2893         Reviewed by David Levin.
2894
2895         Support typed arrays in workers
2896         https://bugs.webkit.org/show_bug.cgi?id=47616
2897
2898         To support typed arrays in workers, we need to expose constructors in
2899         WorkerContext and add NoStaticTables attribute.
2900
2901         I also add File API feature guard to the constructors defined in
2902         DOMWindow.
2903
2904         * bindings/js/JSDOMWindowCustom.cpp: Add File API feature guard to the
2905         constructors defined in DOMWindow.
2906         * html/canvas/ArrayBuffer.idl: Add NoStaticTables attribute.
2907         * html/canvas/ArrayBufferView.idl: Add NoStaticTables attribute.
2908         * html/canvas/Float32Array.idl: Add NoStaticTables attribute.
2909         * html/canvas/Int16Array.idl: Add NoStaticTables attribute.
2910         * html/canvas/Int32Array.idl: Add NoStaticTables attribute.
2911         * html/canvas/Int8Array.idl: Add NoStaticTables attribute.
2912         * html/canvas/Uint16Array.idl: Add NoStaticTables attribute.
2913         * html/canvas/Uint32Array.idl: Add NoStaticTables attribute.
2914         * html/canvas/Uint8Array.idl: Add NoStaticTables attribute.
2915         * page/DOMWindow.idl: Add File API feature guard to the constructors
2916         defined in DOMWindow.
2917         * workers/WorkerContext.idl: Expose type array constructors.
2918
2919 2010-10-14  Andreas Kling  <kling@webkit.org>
2920
2921         Reviewed by Ariya Hidayat.
2922
2923         [Qt] Avoid creating empty transparency layers in ImageBuffer::clip()
2924
2925         We were creating empty layers for sub-1 height/width clips due to
2926         using IntRect(FloatRect) instead of enclosingIntRect().
2927         This lead to a bunch of QPainter warnings on the console since you
2928         can't draw on an empty QPixmap.
2929
2930         * platform/graphics/qt/ImageBufferQt.cpp:
2931         (WebCore::ImageBuffer::clip):
2932
2933 2010-10-14  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
2934
2935         Reviewed by Martin Robinson.
2936
2937         [cairo] Typo in determining fixed width fonts
2938         https://bugs.webkit.org/show_bug.cgi?id=47470
2939
2940         It must be a single ampersand otherwise the
2941         && FT_FACE_FLAG_FIXED_WIDTH will always be true.
2942
2943         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
2944         (WebCore::FontPlatformData::FontPlatformData):
2945
2946 2010-10-14  Sergio Villar Senin  <svillar@igalia.com>
2947
2948         Reviewed by Xan Lopez.
2949
2950         [GTK] Failing test LayoutTests/editing/undo/orphaned-selection-crash-bug32823-2.html
2951         https://bugs.webkit.org/show_bug.cgi?id=47666
2952
2953         Do a less strict decoding of base64 data url's as it was done
2954         before. The actual problem is most likely
2955         https://bugs.webkit.org/show_bug.cgi?id=47661 tough.
2956
2957         * platform/network/soup/cache/soup-request-data.c:
2958         (webkit_soup_request_data_send):
2959
2960 2010-10-14  Renata Hodovan  <reni@inf.u-szeged.hu>
2961
2962         Reviewed by Andreas Kling.
2963
2964         SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
2965         https://bugs.webkit.org/show_bug.cgi?id=47660
2966
2967         The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
2968         The patch also implements the simple setOrder and setKernelUnitLength methods.
2969
2970         Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
2971                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
2972                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
2973                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
2974                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
2975                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
2976                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
2977                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
2978                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
2979                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
2980
2981         * svg/SVGFEConvolveMatrixElement.cpp:
2982         (WebCore::SVGFEConvolveMatrixElement::setOrder):
2983         (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
2984         (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
2985         * svg/SVGFEConvolveMatrixElement.h:
2986
2987 2010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
2988
2989         Reviewed by Andreas Kling.
2990
2991         [Qt] Text breaking is slow: enable ICU as an opt-in
2992         https://bugs.webkit.org/show_bug.cgi?id=40332
2993
2994         Added a config flag that enables ICU as an opt-in instead of the Qt specific code.
2995
2996         No new tests, this should be covered by existing tests.
2997
2998         * WebCore.pro:
2999         * platform/text/qt/TextBreakIteratorQt.cpp:
3000         (WebCore::currentTextBreakLocaleID):
3001
3002 2010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
3003
3004         Reviewed by Kenneth Rohde Christiansen.
3005
3006         [Texmap] [Qt] Texture mapper initial implementation
3007         https://bugs.webkit.org/show_bug.cgi?id=47070
3008
3009         This patch enables compilation of TextureMapper with Media. It has an initial non-working implementation of a video layer, to be integrated
3010         once other parts of TextureMapper are fully working.
3011
3012         No new tests: this is new implementation that's not enabled yet.
3013
3014         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3015         (WebCore::TextureMapperVideoLayerQt::TextureMapperVideoLayerQt):
3016         (WebCore::TextureMapperVideoLayerQt::setPlatformLayerClient):
3017         (WebCore::TextureMapperVideoLayerQt::paint):
3018         (WebCore::TextureMapperVideoLayerQt::size):
3019         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
3020         (WebCore::MediaPlayerPrivateQt::platformLayer):
3021         * platform/graphics/qt/MediaPlayerPrivateQt.h:
3022         (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
3023         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
3024         (WebCore::MediaPlayerPrivateQt::platformLayer):
3025
3026 2010-10-14  Alejandro G. Castro  <alex@igalia.com>
3027
3028         Reviewed by Martin Robinson.
3029
3030         Fixed crashes in the GTK 64bits bot, we have to use NULL instead
3031         of 0 when calling these glib APIs, 0 is compiled as a char and in
3032         64bits systems it is not correct.
3033
3034         * platform/network/soup/cache/soup-requester.c:
3035         (webkit_soup_requester_new):
3036         (webkit_soup_requester_request_uri):
3037
3038 2010-10-14  Daniel Bates  <dbates@rim.com>
3039
3040         Attempt to fix the Qt and GTK builds based on the build bot results from <http://webkit.sed.hu>.
3041
3042         * rendering/RenderInline.cpp: Include header "RenderTheme.h"
3043
3044 2010-10-14  Daniel Bates  <dbates@rim.com>
3045
3046         Reviewed by Darin Adler.
3047
3048         Only draw focus ring in RenderInline and RenderImage if the theme
3049         is not able to draw a focus ring
3050         https://bugs.webkit.org/show_bug.cgi?id=47632
3051
3052         Fixes an issue where RenderInline::paintOutline() and RenderImage::paintFocusRings()
3053         would draw a focus ring regardless of whether the port-specific theme is able to
3054         draw a focus ring. Instead, these methods should only draw a focus ring if the
3055         theme is unable to draw a focus ring.
3056
3057         Also, extracted common focus ring drawing code from RenderObject::paintOutline()
3058         and RenderInline::paintOutline() into RenderObject::paintFocusRing().
3059
3060         Tests: fast/forms/textfield-focus-ring.html
3061                fast/images/imagemap-focus-ring.html
3062                fast/inline/inline-focus-ring.html
3063
3064         * rendering/RenderImage.cpp:
3065         (WebCore::RenderImage::paintFocusRings): Modified to only draw a focus ring if the
3066         the theme does not draw one.
3067         * rendering/RenderInline.cpp:
3068         (WebCore::RenderInline::paintOutline): Modified to call RenderObject::paintFocusRing().
3069         * rendering/RenderObject.cpp:
3070         * rendering/RenderObject.cpp:
3071         (WebCore::RenderObject::paintFocusRing): Added.
3072         (WebCore::RenderObject::paintOutline): Modified to call RenderObject::paintFocusRing().
3073         * rendering/RenderObject.h:
3074
3075 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
3076
3077         Reviewed by Yury Semikhatsky.
3078
3079         Web Inspector: Move load and dom content event timers into InspectorController.
3080         https://bugs.webkit.org/show_bug.cgi?id=47668
3081
3082         * inspector/CodeGeneratorInspector.pm:
3083         * inspector/Inspector.idl:
3084         * inspector/InspectorController.cpp:
3085         (WebCore::InspectorController::InspectorController):
3086         (WebCore::InspectorController::populateScriptObjects):
3087         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
3088         (WebCore::InspectorController::mainResourceFiredLoadEvent):
3089         * inspector/InspectorController.h:
3090         * inspector/InspectorResource.cpp:
3091         (WebCore::InspectorResource::InspectorResource):
3092         (WebCore::InspectorResource::updateScriptObject):
3093         * inspector/InspectorResource.h:
3094         * inspector/front-end/inspector.js:
3095         (WebInspector.updateResource):
3096         (WebInspector.domContentEventFired):
3097         (WebInspector.loadEventFired):
3098
3099 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
3100
3101         Not reviewed. Re-landing r69757.
3102
3103 2010-10-14  Pavel Podivilov  <podivilov@chromium.org>
3104
3105         Reviewed by Pavel Feldman.
3106
3107         Web Inspector: implement pausing on window events and timeouts
3108         https://bugs.webkit.org/show_bug.cgi?id=47542
3109
3110         * inspector/InspectorInstrumentation.cpp:
3111         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
3112         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
3113         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
3114         (WebCore::InspectorInstrumentation::didDispatchEventImpl):
3115         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
3116         (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
3117         (WebCore::InspectorInstrumentation::willFireTimerImpl):
3118         (WebCore::InspectorInstrumentation::didFireTimerImpl):
3119         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
3120         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
3121         * inspector/InspectorInstrumentation.h:
3122         * inspector/front-end/BreakpointManager.js:
3123         (WebInspector.EventListenerBreakpoint.prototype.populateLabelElement):
3124         (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
3125         (WebInspector.EventListenerBreakpoint.prototype._condition):
3126         (WebInspector.EventListenerBreakpoint.prototype._uiEventName):
3127         * inspector/front-end/BreakpointsSidebarPane.js:
3128         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
3129
3130 2010-10-14  Csaba Osztrogonác  <ossy@webkit.org>
3131
3132         Reviewed by Andreas Kling.
3133
3134         Canvas: "currentColor" should inherit the canvas element's color
3135         https://bugs.webkit.org/show_bug.cgi?id=40273
3136
3137         Warning fix after r69755. Missing default cases added.
3138
3139         * html/canvas/CanvasStyle.cpp:
3140         (WebCore::parseColorOrCurrentColor):
3141         (WebCore::CanvasStyle::createFromString):
3142         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
3143
3144 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
3145
3146         Not reviewed. Rolling out r69757.
3147
3148 2010-10-08  Pavel Feldman  <pfeldman@chromium.org>
3149
3150         Reviewed by Yury Semikhatsky.
3151
3152         Web Inspector: extract content-related methods into InspectorResourceAgent.
3153         https://bugs.webkit.org/show_bug.cgi?id=47415
3154
3155         This is needed for resource-tracking-less operation of resources panel.
3156
3157         * CMakeLists.txt:
3158         * GNUmakefile.am:
3159         * WebCore.gypi:
3160         * WebCore.pro:
3161         * inspector/InspectorCSSAgent.cpp:
3162         * inspector/InspectorResource.cpp:
3163         (WebCore::InspectorResource::type):
3164         (WebCore::InspectorResource::sourceString):
3165         (WebCore::InspectorResource::sourceBytes):
3166         * inspector/InspectorResource.h:
3167         * inspector/InspectorResourceAgent.cpp: Added.
3168         (WebCore::InspectorResourceAgent::resourceContent):
3169         (WebCore::InspectorResourceAgent::resourceContentBase64):
3170         (WebCore::InspectorResourceAgent::resourceData):
3171         (WebCore::InspectorResourceAgent::cachedResourceType):
3172         (WebCore::InspectorResourceAgent::cachedResource):
3173         * inspector/InspectorResourceAgent.h: Added.
3174         * inspector/InspectorStyleSheet.cpp:
3175         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
3176         * inspector/InspectorUtilities.cpp: Removed.
3177         * inspector/InspectorUtilities.h: Removed.
3178
3179 2010-10-14  Andreas Kling  <kling@webkit.org>
3180
3181         Reviewed by Darin Adler.
3182
3183         Canvas: "currentColor" should inherit the canvas element's color
3184         https://bugs.webkit.org/show_bug.cgi?id=40273
3185
3186         Add support for "currentColor" in CanvasRenderingContext2D APIs.
3187         If the canvas is in-document, "currentColor" is replaced by canvas.style.color,
3188         otherwise we use fully opaque black.
3189
3190         For gradient addColorStop(), "currentColor" always means fully opaque black.
3191
3192         Spec link:
3193         http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
3194
3195         Test: fast/canvas/canvas-currentColor.html
3196
3197         * html/canvas/CanvasGradient.cpp:
3198         (WebCore::CanvasGradient::addColorStop):
3199         * html/canvas/CanvasRenderingContext2D.cpp:
3200         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
3201         (WebCore::CanvasRenderingContext2D::setFillStyle):
3202         (WebCore::CanvasRenderingContext2D::setShadowColor):
3203         (WebCore::CanvasRenderingContext2D::setShadow):
3204         * html/canvas/CanvasStyle.cpp:
3205         (WebCore::parseColor):
3206         (WebCore::currentColor):
3207         (WebCore::parseColorOrCurrentColor):
3208         (WebCore::CanvasStyle::CanvasStyle):
3209         (WebCore::CanvasStyle::createFromString):
3210         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
3211         (WebCore::CanvasStyle::isEquivalentColor):
3212         (WebCore::CanvasStyle::applyStrokeColor):
3213         (WebCore::CanvasStyle::applyFillColor):
3214         * html/canvas/CanvasStyle.h:
3215         (WebCore::CanvasStyle::isCurrentColor):
3216         (WebCore::CanvasStyle::hasOverrideAlpha):
3217         (WebCore::CanvasStyle::overrideAlpha):
3218
3219 2010-10-08  Yury Semikhatsky  <yurys@chromium.org>
3220
3221         Reviewed by Pavel Feldman.
3222
3223         Web Inspector: [REGRESSION] Scripts panel: the bubble shows wrong values
3224         https://bugs.webkit.org/show_bug.cgi?id=47358
3225
3226         Test: inspector/debugger-eval-on-call-frame.html
3227
3228         * inspector/front-end/InjectedScript.js:
3229         (injectedScriptConstructor.): don't embrace expression evaluated in the local scope
3230         of a call frame into with(window) to avoid shadowing local variables by global ones.
3231
3232 2010-10-13  Adam Barth  <abarth@webkit.org>
3233
3234         Reviewed by Darin Adler.
3235
3236         Implement getParameter from the URL API
3237         https://bugs.webkit.org/show_bug.cgi?id=46610
3238
3239         Another API from
3240         https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en#
3241         getParameter lets a web site easily read the value of a URL parameter.
3242         This API is for the simple case of a non-repeated parameter name.
3243         getParameterAll will handle repeated parameter names in a future patch.
3244
3245         Tests: fast/dom/anchor-getParameter.html
3246                http/tests/misc/location-getParameter.html
3247
3248         * html/HTMLAnchorElement.cpp:
3249         (WebCore::HTMLAnchorElement::getParameter):
3250         * html/HTMLAnchorElement.h:
3251         * html/HTMLAnchorElement.idl:
3252         * page/Location.cpp:
3253         (WebCore::Location::getParameter):
3254         * page/Location.h:
3255         * page/Location.idl:
3256         * platform/KURL.cpp:
3257         (WebCore::KURL::copyParsedQueryTo):
3258         * platform/KURLGoogle.cpp:
3259         (WebCore::KURL::copyParsedQueryTo):
3260         * platform/KURL.h:
3261
3262 2010-10-14  Alejandro G. Castro  <alex@igalia.com>
3263
3264         Unreviewed. GTK build fix.
3265
3266         * platform/network/soup/ResourceHandleSoup.cpp:
3267         (WebCore::sendRequestCallback):
3268
3269 2010-10-14  Adrienne Walker  <enne@google.com>
3270
3271         Reviewed by James Robinson.
3272
3273         Add a short-term solution for large layers.  Layers that are too
3274         large to be contained in a single texture just upload the portion of
3275         the layer that is within the content rect.  A longer-term solution
3276         is still tiling with proper memory management.  Layers that have full
3277         3D transforms (more than just translations) are still not drawn.
3278         https://bugs.webkit.org/show_bug.cgi?id=47016
3279
3280         Test: compositing/tiling
3281
3282         * platform/graphics/chromium/ContentLayerChromium.cpp:
3283         (WebCore::ContentLayerChromium::ContentLayerChromium):
3284         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
3285         (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
3286         (WebCore::ContentLayerChromium::updateContents):
3287         (WebCore::ContentLayerChromium::updateTextureRect):
3288         (WebCore::ContentLayerChromium::draw):
3289         * platform/graphics/chromium/ContentLayerChromium.h:
3290         * platform/graphics/chromium/ImageLayerChromium.cpp:
3291         (WebCore::ImageLayerChromium::updateContents):
3292         * platform/graphics/chromium/LayerRendererChromium.cpp:
3293         (WebCore::LayerRendererChromium::drawLayers):
3294         * platform/graphics/chromium/LayerRendererChromium.h:
3295         (WebCore::LayerRendererChromium::rootLayerContentRect):
3296
3297 2010-10-14  Chris Rogers  <crogers@google.com>
3298
3299         Reviewed by Chris Fleizach.
3300
3301         Add DelayDSPKernel files
3302         https://bugs.webkit.org/show_bug.cgi?id=47518
3303
3304         No new tests since audio API is not yet implemented.
3305
3306         * webaudio/DelayDSPKernel.cpp: Added.
3307         (WebCore::DelayDSPKernel::DelayDSPKernel):
3308         (WebCore::DelayDSPKernel::process):
3309         (WebCore::DelayDSPKernel::reset):
3310         * webaudio/DelayDSPKernel.h: Added.
3311         (WebCore::DelayDSPKernel::maxDelayTime):
3312         (WebCore::DelayDSPKernel::setDelayFrames):
3313         (WebCore::DelayDSPKernel::delayProcessor):
3314
3315 2010-10-13  Sergio Villar Senin  <svillar@igalia.com>
3316
3317         Reviewed by Martin Robinson.
3318
3319         WebKitGtk+ to use the new API from the imported SoupURILoader code
3320
3321         [GTK] Add HTTP caching support
3322         https://bugs.webkit.org/show_bug.cgi?id=44261
3323
3324         ResourceHandleSoup now does everything via SoupURILoader. This means
3325         that all URLs are handled via the same code path, where WebCore simply
3326         asks libsoup for a WebKitSoupRequest and the request returns an input
3327         stream. Many of ResourceHandleSoup's data members are now PlatformRefPtr
3328         as well, to simplify reference counting
3329
3330         * platform/network/ResourceHandleInternal.h:
3331         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3332         * platform/network/soup/ResourceHandleSoup.cpp:
3333         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
3334         (WebCore::ResourceHandle::~ResourceHandle):
3335         (WebCore::restartedCallback):
3336         (WebCore::gotChunkCallback):
3337         (WebCore::parseDataUrl):
3338         (WebCore::cleanupSoupRequestOperation):
3339         (WebCore::sendRequestCallback):
3340         (WebCore::startHttp):
3341         (WebCore::ResourceHandle::start):
3342         (WebCore::ResourceHandle::cancel):
3343         (WebCore::closeCallback):
3344         (WebCore::readCallback):
3345         (WebCore::startGio):
3346         * platform/network/soup/ResourceRequest.h:
3347         * platform/network/soup/ResourceRequestSoup.cpp:
3348         (WebCore::ResourceRequest::updateSoupMessage):
3349
3350 2010-10-12  Abhishek Arya  <inferno@chromium.org>
3351
3352         Reviewed by Darin Adler.
3353
3354         Prevent block logical height of a root inline box from overflowing by clamping it
3355         at INT_MAX. Otherwise, we will not be able to properly dirty the set of lines during
3356         removal a floating object.
3357         https://bugs.webkit.org/show_bug.cgi?id=45611        
3358
3359         Test: fast/overflow/overflow-block-logical-height-crash.html
3360
3361         * rendering/RootInlineBox.cpp:
3362         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
3363
3364 2010-10-13  James Robinson  <jamesr@chromium.org>
3365
3366         Reviewed by Darin Adler.
3367
3368         Throw INDEX_SIZE_ERR exception if createRadialGradient is called with a negative radius
3369         Canvas: radialGradient with negative radius should throw exception
3370         https://bugs.webkit.org/show_bug.cgi?id=37176
3371
3372         This matches the canvas 2d specification, Opera, IE9 beta and our behavior for arc()
3373         and arcTo().  Also fixes some PassRefPtr/RefPtr errors in this file.
3374
3375         Test: canvas/philip/tests/2d.gradient.radial.negative.html
3376
3377         * html/canvas/CanvasRenderingContext2D.cpp:
3378         (WebCore::CanvasRenderingContext2D::createLinearGradient):
3379         (WebCore::CanvasRenderingContext2D::createRadialGradient):
3380         (WebCore::createEmptyImageData):
3381         (WebCore::CanvasRenderingContext2D::measureText):
3382
3383 2010-10-13  Fridrich Strba  <fridrich.strba@bluewin.ch>
3384
3385         Reviewed by Darin Adler.
3386
3387         Add WebCore/plugins/win directory to CFLAGS
3388         https://bugs.webkit.org/show_bug.cgi?id=45547
3389
3390         * GNUmakefile.am:
3391
3392 2010-10-13  Martin Robinson  <mrobinson@igalia.com>
3393
3394         Build fix for older versions of libsoup.
3395
3396         * platform/network/soup/cache/soup-request-file.c:
3397         (webkit_soup_request_file_ensure_file): Access the path member of the SoupURI directly.
3398
3399 2010-10-13  Kwang Yul Seo  <skyul@company100.net>
3400
3401         Reviewed by Kent Tamura.
3402
3403         [BREWMP] Add TextBoundaries and TextBreakIterator
3404         https://bugs.webkit.org/show_bug.cgi?id=46105
3405
3406         Copy the implementation of WinCE port.
3407
3408         * platform/text/brew/TextBoundariesBrew.cpp: Added.
3409         (WebCore::findNextWordFromIndex):
3410         (WebCore::findWordBoundary):
3411         * platform/text/brew/TextBreakIteratorBrew.cpp: Added.
3412         (WebCore::isCharStop):
3413         (WebCore::isLineStop):
3414         (WebCore::isSentenceStop):
3415         (WebCore::TextBreakIterator::reset):
3416         (WebCore::TextBreakIterator::following):
3417         (WebCore::TextBreakIterator::preceding):
3418         (WebCore::WordBreakIterator::first):
3419         (WebCore::WordBreakIterator::next):
3420         (WebCore::WordBreakIterator::previous):
3421         (WebCore::CharBreakIterator::first):
3422         (WebCore::CharBreakIterator::next):
3423         (WebCore::CharBreakIterator::previous):
3424         (WebCore::LineBreakIterator::first):
3425         (WebCore::LineBreakIterator::next):
3426         (WebCore::LineBreakIterator::previous):
3427         (WebCore::SentenceBreakIterator::first):
3428         (WebCore::SentenceBreakIterator::next):
3429         (WebCore::SentenceBreakIterator::previous):
3430         (WebCore::wordBreakIterator):
3431         (WebCore::characterBreakIterator):
3432         (WebCore::lineBreakIterator):
3433         (WebCore::sentenceBreakIterator):
3434         (WebCore::textBreakFirst):
3435         (WebCore::textBreakNext):
3436         (WebCore::textBreakPreceding):
3437         (WebCore::textBreakFollowing):
3438         (WebCore::textBreakCurrent):
3439         (WebCore::isTextBreak):
3440         (WebCore::cursorMovementIterator):
3441
3442 2010-10-13  Jeremy Orlow  <jorlow@chromium.org>
3443
3444         Reviewed by Nate Chapin.
3445
3446         IndexedDB should fire some errors synchronously
3447         https://bugs.webkit.org/show_bug.cgi?id=47530
3448
3449         Add dumb plumbing to pass around exception codes.
3450         Utilize that plumbing in the backend to fire some
3451         errors synchronously.
3452         Verify that create/remove* functions are only called
3453         in setVersionTransactions (and raise when not).
3454         Remove plumbing for obsolete IDBDatabase.objectStore
3455         Remove obsolete mode param.
3456
3457         * storage/IDBCursor.cpp:
3458         (WebCore::IDBCursor::update):
3459         (WebCore::IDBCursor::continueFunction):
3460         (WebCore::IDBCursor::remove):
3461         * storage/IDBCursor.h:
3462         (WebCore::IDBCursor::continueFunction):
3463         * storage/IDBCursor.idl:
3464         * storage/IDBCursorBackendImpl.cpp:
3465         (WebCore::IDBCursorBackendImpl::update):
3466         (WebCore::IDBCursorBackendImpl::continueFunction):
3467         (WebCore::IDBCursorBackendImpl::remove):
3468         * storage/IDBCursorBackendImpl.h:
3469         * storage/IDBCursorBackendInterface.h:
3470         * storage/IDBDatabase.cpp:
3471         (WebCore::IDBDatabase::IDBDatabase):
3472         (WebCore::IDBDatabase::createObjectStore):
3473         (WebCore::IDBDatabase::removeObjectStore):
3474         (WebCore::IDBDatabase::setVersion):
3475         (WebCore::IDBDatabase::transaction):
3476         * storage/IDBDatabase.h:
3477         (WebCore::IDBDatabase::createObjectStore):
3478         (WebCore::IDBDatabase::transaction):
3479         * storage/IDBDatabase.idl:
3480         * storage/IDBDatabaseBackendImpl.cpp:
3481         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
3482         (WebCore::IDBDatabaseBackendImpl::objectStore):
3483         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
3484         (WebCore::IDBDatabaseBackendImpl::setVersion):
3485         (WebCore::IDBDatabaseBackendImpl::transaction):
3486         * storage/IDBDatabaseBackendImpl.h:
3487         * storage/IDBDatabaseBackendInterface.h:
3488         * storage/IDBFactory.cpp:
3489         (WebCore::IDBFactory::open):
3490         * storage/IDBFactory.h:
3491         (WebCore::IDBFactory::open):
3492         * storage/IDBFactory.idl:
3493         * storage/IDBIndex.cpp:
3494         (WebCore::IDBIndex::openCursor):
3495         (WebCore::IDBIndex::openKeyCursor):
3496         (WebCore::IDBIndex::get):
3497         (WebCore::IDBIndex::getKey):
3498         * storage/IDBIndex.h:
3499         (WebCore::IDBIndex::openCursor):
3500         (WebCore::IDBIndex::openKeyCursor):
3501         * storage/IDBIndex.idl:
3502         * storage/IDBIndexBackendImpl.cpp:
3503         (WebCore::IDBIndexBackendImpl::openCursor):
3504         (WebCore::IDBIndexBackendImpl::openKeyCursor):
3505         (WebCore::IDBIndexBackendImpl::get):
3506         (WebCore::IDBIndexBackendImpl::getKey):
3507         * storage/IDBIndexBackendImpl.h:
3508         * storage/IDBIndexBackendInterface.h:
3509         * storage/IDBObjectStore.cpp:
3510         (WebCore::IDBObjectStore::get):
3511         (WebCore::IDBObjectStore::add):
3512         (WebCore::IDBObjectStore::put):
3513         (WebCore::IDBObjectStore::remove):
3514         (WebCore::IDBObjectStore::createIndex):
3515         (WebCore::IDBObjectStore::index):
3516         (WebCore::IDBObjectStore::removeIndex):
3517         (WebCore::IDBObjectStore::openCursor):
3518         * storage/IDBObjectStore.h:
3519         (WebCore::IDBObjectStore::add):
3520         (WebCore::IDBObjectStore::put):
3521         (WebCore::IDBObjectStore::createIndex):
3522         (WebCore::IDBObjectStore::openCursor):
3523         * storage/IDBObjectStore.idl:
3524         * storage/IDBObjectStoreBackendImpl.cpp:
3525         (WebCore::IDBObjectStoreBackendImpl::get):
3526         (WebCore::IDBObjectStoreBackendImpl::put):
3527         (WebCore::IDBObjectStoreBackendImpl::remove):
3528         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3529         (WebCore::IDBObjectStoreBackendImpl::index):
3530         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
3531         (WebCore::IDBObjectStoreBackendImpl::openCursor):
3532         * storage/IDBObjectStoreBackendImpl.h:
3533         (WebCore::IDBObjectStoreBackendImpl::name):
3534         (WebCore::IDBObjectStoreBackendImpl::keyPath):
3535         (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
3536         * storage/IDBObjectStoreBackendInterface.h:
3537         * storage/IDBTransaction.cpp:
3538         (WebCore::IDBTransaction::objectStore):
3539         * storage/IDBTransaction.h:
3540         * storage/IDBTransactionBackendImpl.cpp:
3541         (WebCore::IDBTransactionBackendImpl::objectStore):
3542
3543 2010-10-13  Sergio Villar Senin  <svillar@igalia.com>
3544
3545         Reviewed by Martin Robinson.
3546
3547         [GTK] Add HTTP caching support
3548         https://bugs.webkit.org/show_bug.cgi?id=44261
3549
3550         This patch adds HTTP caching support to libsoup networking backend.
3551         This code will eventually be part of libsoup, but has been temporarily
3552         imported into the WebCore tree for testing purposes. All libsoup code
3553         is located in WebCore/platform/network/soup/cache. The webkit prefix
3554         was added to all the symbols to prevent problems when this lands in
3555         libsoup. Some external API was also added under webkit/ directory and
3556         will be used by library clients to enable HTTP caching.
3557
3558         There are two parts to this imported code, the first one is the code
3559         under WebCore/platform/network/soup/cache/ that contains all the
3560         SoupURILoader code that supports the development of the cache. The
3561         second part is the HTTP cache implementation located in
3562         WebCore/platform/network/soup/cache/webkit/.
3563
3564         * GNUmakefile.am:
3565         * platform/network/soup/cache/soup-directory-input-stream.c: Added.
3566         (webkit_soup_directory_input_stream_parse_info):
3567         (webkit_soup_directory_input_stream_read_next_file):
3568         (webkit_soup_directory_input_stream_read):
3569         (webkit_soup_directory_input_stream_close):
3570         (webkit_soup_directory_input_stream_class_init):
3571         (webkit_soup_directory_input_stream_init):
3572         (webkit_soup_directory_input_stream_new):
3573         * platform/network/soup/cache/soup-directory-input-stream.h: Added.
3574         * platform/network/soup/cache/soup-http-input-stream.c: Added.
3575         (webkit_soup_http_input_stream_finalize):
3576         (webkit_soup_http_input_stream_class_init):
3577         (webkit_soup_http_input_stream_seekable_iface_init):
3578         (webkit_soup_http_input_stream_init):
3579         (webkit_soup_http_input_stream_queue_message):
3580         (webkit_soup_http_input_stream_new):
3581         (webkit_soup_http_input_stream_got_headers):
3582         (webkit_soup_http_input_stream_got_chunk):
3583         (webkit_soup_http_input_stream_finished):
3584         (webkit_soup_http_input_stream_cancelled):
3585         (webkit_soup_http_input_stream_prepare_for_io):
3586