[Qt] User agent style sheets are crippled by moc -E in make-css-file-arrays.pl
[WebKit-https.git] / WebCore / ChangeLog
1 2010-04-09  Andras Becsi  <abecsi@webkit.org>
2
3         Reviewed by Simon Hausmann.
4
5         [Qt] User agent style sheets are crippled by moc -E in make-css-file-arrays.pl
6         https://bugs.webkit.org/show_bug.cgi?id=37296
7
8         Do not use moc to preprocess user agent style sheets because it removes at-symbols
9         and hexadecimal colours from declarations.
10         Remove unneeded preprocessor usage from make-css-file-arrays.pl since the script
11         processes default css files using regular expressions therefore preprocessing is redundant.
12
13         * WebCore.pri: remove --preprocessor usage
14         * css/make-css-file-arrays.pl: remove gcc dependency
15
16 2010-04-08  Chris Evans  <cevans@chromium.org>
17
18         Reviewed by Sam Weinig.
19
20         Use the new UserGestureIndictor for _blank POST requests.
21
22         https://bugs.webkit.org/show_bug.cgi?id=34541
23
24         Test: fast/events/popup-blocked-to-post-blank.html
25
26         * bindings/v8/ScriptController.cpp:
27         (WebCore::ScriptController::processingUserGesture):
28           Use UserGestureIndicator in more cases.
29         * page/EventHandler.cpp:
30         (WebCore::EventHandler):
31           Impact from UserGestureIndicator API change.
32         (WebCore::FrameLoader::submitForm):
33           Block the load immediately if popups are not allowed and it would
34           open a new window.
35         * loader/RedirectScheduler.cpp:
36         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
37           Note the UserGestureIndicator status at the time of submission.
38         (WebCore::ScheduledFormSubmission::fire):
39           Use the stored UserGestureIndicator status in the asynchronous
40           callback.
41         * dom/UserGestureIndicator.h:
42         * dom/UserGestureIndicator.cpp:
43         (WebCore::UserGestureIndicator::UserGestureIndicator):
44           Add ability to store a negative indication.
45
46 2010-03-29  Antonio Gomes  <tonikitoo@webkit.org>
47
48         Reviewed by Simon Fraser.
49
50         Spatial Navigation: proper handle negative x or y coordinates
51         https://bugs.webkit.org/show_bug.cgi?id=36773
52
53         In Spatial Navigation logic, during rect acquisition in renderRectRelativeToRootDocument,
54         sometimes negative x() or y() values are got, and the current algorithm bails out in
55         any of such cases.
56
57         However, when a node is in a scrollable content (content overflow <div>) and
58         this scrollable container scrolled up, element gets offscreen, and gets negative values
59         for y(), for example. In such cases, they are still valid to be used in Spatial Navigation
60         logic.
61
62         Test: fast/events/spatial-navigation/snav-offscreen-content.html
63
64         * page/SpatialNavigation.cpp:
65         (WebCore::distanceDataForNode):
66         (WebCore::checkNegativeCoordsForNode):
67
68 2010-04-08  Dumitru Daniliuc  <dumi@chromium.org>
69
70         Reviewed by Geoffrey Garen.
71
72         Create the creation callback is the current world.
73         https://bugs.webkit.org/show_bug.cgi?id=37290
74
75         * bindings/js/JSDatabaseCallback.cpp:
76         (WebCore::JSDatabaseCallback::JSDatabaseCallback):
77
78 2010-04-08  David Hyatt  <hyatt@apple.com>
79
80         Reviewed by Oliver Hunt.
81
82         Followup optimization to bug 24300, don't leak history info via CSS :visited.  If a Web
83         site uses document colors that are the same for link and vlink in HTML and also doesn't
84         specify any :link or :visited rules, then don't waste time resolving visited styles.
85
86         There is a further optimization that could be done to detect when :link and :visited are
87         used together in the same rule to specify a color, and this is how most sites turn off
88         visited link colors, but this fix doesn't address that.  It just restores the optimization
89         that existed prior to the patch in 24300 landing.
90
91         * css/CSSGrammar.y:
92         * css/CSSStyleSelector.cpp:
93         (WebCore::CSSStyleSelector::styleForElement):
94         * dom/Document.cpp:
95         (WebCore::Document::Document):
96         * dom/Document.h:
97         (WebCore::Document::usesLinkRules):
98         (WebCore::Document::setUsesLinkRules):
99
100 2010-04-08  David Hyatt  <hyatt@apple.com>
101
102         Reviewed by Oliver Hunt.
103
104         Caught by pixel tests.  I missed patching the borderRightColor() call for fieldset border painting so the
105         border stopped showing up.
106         
107         * rendering/RenderFieldset.cpp:
108         (WebCore::RenderFieldset::paintBorderMinusLegend):
109
110 2010-04-07  David Hyatt  <hyatt@apple.com>
111
112         Reviewed by Oliver Hunt.
113
114         https://bugs.webkit.org/show_bug.cgi?id=24300, don't leak history info via CSS :visited.
115
116         This patch implements the policy described by David Baron here:
117         
118         http://dbaron.org/mozilla/visited-privacy
119         
120         Added new tests in fast/history.
121
122         * WebCore.base.exp:
123         Expose functions needed for the WebKit SPI used by layout tests.
124
125         * WebCore.xcodeproj/project.pbxproj:
126         * accessibility/AccessibilityRenderObject.cpp:
127         (WebCore::AccessibilityRenderObject::isVisited):
128         Make sure accessibility objects still return visited information.
129         
130         * css/CSSComputedStyleDeclaration.cpp:
131         (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
132         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
133         * css/CSSComputedStyleDeclaration.h:
134         (WebCore::computedStyle):
135         Add a boolean to computed style declarations that - if set - causes the computed style
136         to still return :visited information.  For normal Web pages, this will be false.  It is set
137         to true for the Web Inspector and by the WebKit SPI used by the layout tests.
138
139         * css/CSSStyleSelector.cpp:
140         (WebCore::CSSStyleSelector::initElement):
141         (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
142         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
143         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
144         (WebCore::CSSStyleSelector::canShareStyleWithElement):
145         (WebCore::CSSStyleSelector::styleForElement):
146         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
147         (WebCore::CSSStyleSelector::pseudoStyleForElement):
148         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
149         (WebCore::CSSStyleSelector::checkSelector):
150         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
151         (WebCore::CSSStyleSelector::applyPropertyToStyle):
152         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
153         * css/CSSStyleSelector.h:
154         Rework the style selector to resolve two styles instead of one.  The first forces the link to
155         be unvisited, and the second forces the link to be visited.  The real state of the link is 
156         cached on the principal (unvisited) style.  The visited style hangs off the principal style
157         as a pseudo style (VISITED_LINK).
158
159         * dom/Element.cpp:
160         (WebCore::Element::pseudoStyleCacheIsInvalid):
161         Make sure to deal with the VISITED_LINK pseudo to know when only :visited style info changed.
162
163         * inspector/InspectorDOMAgent.cpp:
164         (WebCore::InspectorDOMAgent::getStyles):
165         Let the Web Inspector see :visited computed styles by default.
166         
167         * platform/LinkHash.cpp:
168         (WebCore::visitedURL):
169         Fix an issue where <a href=""> is not hashed properly to the document's base URI, so it wasn't
170         correctly reported as :visited.
171
172         * rendering/InlineFlowBox.cpp:
173         (WebCore::InlineFlowBox::paintBoxDecorations):
174         (WebCore::InlineFlowBox::paintTextDecorations):
175         * rendering/InlineTextBox.cpp:
176         (WebCore::InlineTextBox::paint):
177         (WebCore::InlineTextBox::paintSelection):
178         * rendering/RenderBlock.cpp:
179         (WebCore::RenderBlock::paintColumnRules):
180         (WebCore::RenderBlock::paintObject):
181         * rendering/RenderBoxModelObject.cpp:
182         (WebCore::RenderBoxModelObject::paintBorder):
183         * rendering/RenderFieldset.cpp:
184         (WebCore::RenderFieldset::paintBorderMinusLegend):
185         * rendering/RenderImage.cpp:
186         (WebCore::RenderImage::paintFocusRings):
187         * rendering/RenderInline.cpp:
188         (WebCore::RenderInline::paintOutline):
189         (WebCore::RenderInline::paintOutlineForLine):
190         * rendering/RenderObject.cpp:
191         (WebCore::RenderObject::drawLineForBoxSide):
192         (WebCore::RenderObject::drawArcForBoxSide):
193         (WebCore::RenderObject::paintOutline):
194         (WebCore::decorationColor):
195         (WebCore::RenderObject::getTextDecorationColors):
196         * rendering/RenderObject.h:
197         * rendering/RenderPath.cpp:
198         (WebCore::RenderPath::paint):
199         * rendering/RenderReplaced.cpp:
200         (WebCore::RenderReplaced::paint):
201         * rendering/RenderSVGContainer.cpp:
202         (WebCore::RenderSVGContainer::paint):
203         * rendering/RenderSVGImage.cpp:
204         (WebCore::RenderSVGImage::paint):
205         * rendering/RenderSVGRoot.cpp:
206         (WebCore::RenderSVGRoot::paint):
207         * rendering/RenderTableCell.cpp:
208         (WebCore::RenderTableCell::collapsedLeftBorder):
209         (WebCore::RenderTableCell::collapsedRightBorder):
210         (WebCore::RenderTableCell::collapsedTopBorder):
211         (WebCore::RenderTableCell::collapsedBottomBorder):
212         (WebCore::RenderTableCell::paintCollapsedBorder):
213         * rendering/style/CollapsedBorderValue.h:
214         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
215         (WebCore::CollapsedBorderValue::color):
216         (WebCore::CollapsedBorderValue::operator==):
217         Patch painting code to fetch visitedDependentColors from the RenderStyle.  Properties that
218         are honored include background-color, color, border colors, outline color, column rules,
219         and fill and stroke (both SVG and our custom versions).
220     
221         * rendering/style/RenderStyle.cpp:
222         (WebCore::RenderStyle::RenderStyle):
223         (WebCore::RenderStyle::diff):
224         (WebCore::borderStyleForColorProperty):
225         (WebCore::colorIncludingFallback):
226         (WebCore::RenderStyle::visitedDependentColor):
227         * rendering/style/RenderStyle.h:
228         (WebCore::):
229         (WebCore::InheritedFlags::NonInheritedFlags::operator==):
230         (WebCore::InheritedFlags::setBitDefaults):
231         (WebCore::InheritedFlags::insideLink):
232         (WebCore::InheritedFlags::isLink):
233         (WebCore::InheritedFlags::setInsideLink):
234         (WebCore::InheritedFlags::setIsLink):
235         * rendering/style/RenderStyleConstants.h:
236         Change how link information is stored.  The noninherited flags now have a bit set for if you're a link
237         or not.  The inherited flags now cache whether you're inside a visited or unvisited link (or no link at
238         all).
239
240         (WebCore::):
241         * svg/graphics/SVGPaintServer.cpp:
242         (WebCore::SVGPaintServer::fillPaintServer):
243         (WebCore::SVGPaintServer::strokePaintServer):
244         Patch SVG fill/stroke painting to honor :visited.
245
246 2010-04-08  Benjamin Otte  <otte@gnome.org>
247
248         Reviewed by Gustavo Noronha.
249
250         Fix build with MathML enabled.
251
252         * GNUmakefile.am:
253
254 2010-04-08  Daniel Bates  <dbates@rim.com>
255
256         No review, rolling out 56655.
257         http://trac.webkit.org/changeset/56655
258         https://bugs.webkit.org/show_bug.cgi?id=9268
259
260         Rolling out the change committed in change set 56655
261         because it caused a regression in some of the mozilla
262         and mozilla expected failure test cases, such as:
263         tables/mozilla/marvin/backgr_simple-table-row.html, and
264         tables/mozilla/marvin/backgr_simple-table-row-group.html.
265
266         We need to look into this issue some more.
267
268         * rendering/RenderBoxModelObject.cpp:
269         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
270         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
271         * rendering/RenderBoxModelObject.h:
272         * rendering/RenderObject.h:
273         * rendering/RenderTableCell.cpp:
274         * rendering/RenderTableCell.h:
275
276 2010-03-30  Dumitru Daniliuc  <dumi@chromium.org>
277
278         Reviewed by Dimitri Glazkov.
279
280         Refactor DatabaseTracker, part 1: Remove the dependency on
281         OriginQuotaManager from DatabaseTracker.h.
282
283         https://bugs.webkit.org/show_bug.cgi?id=31482
284
285         * storage/DatabaseTracker.cpp:
286         (originQuotaManager):
287         (WebCore::DatabaseTracker::DatabaseTracker):
288         (WebCore::DatabaseTracker::canEstablishDatabase):
289         (WebCore::DatabaseTracker::hasEntryForOrigin):
290         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
291         (WebCore::DatabaseTracker::databaseChanged):
292         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
293         (WebCore::DatabaseTracker::fullPathForDatabase):
294         (WebCore::DatabaseTracker::populateOrigins):
295         (WebCore::DatabaseTracker::origins):
296         (WebCore::DatabaseTracker::databaseNamesForOrigin):
297         (WebCore::DatabaseTracker::removeOpenDatabase):
298         (WebCore::DatabaseTracker::usageForOriginNoLock):
299         (WebCore::DatabaseTracker::usageForOrigin):
300         (WebCore::DatabaseTracker::quotaForOrigin):
301         (WebCore::DatabaseTracker::setQuota):
302         (WebCore::DatabaseTracker::deleteOrigin):
303         (WebCore::DatabaseTracker::deleteDatabase):
304         (WebCore::DatabaseTracker::deleteDatabaseFile):
305         * storage/DatabaseTracker.h:
306         * storage/SQLTransactionClient.cpp:
307         (WebCore::SQLTransactionClient::didExecuteStatement):
308
309 2010-04-08  Kwang Yul Seo  <skyul@company100.net>
310
311         Reviewed by Simon Hausmann.
312
313         [WINCE] Replace max with std::max
314         https://bugs.webkit.org/show_bug.cgi?id=37201
315
316         std::max is preferred.
317
318         * platform/wince/FileSystemWince.cpp:
319         (WebCore::makeAllDirectories):
320         (WebCore::pathGetFileName):
321
322 2010-04-08  Antonio Gomes  <tonikitoo@webkit.org>
323
324         Reviewed by Laszlo Gombos.
325
326         [EFL] Move AccessibilityObjectEfl.cpp from page to accessibility
327         https://bugs.webkit.org/show_bug.cgi?id=36405
328
329         * accessibility/efl/AccessibilityObjectEfl.cpp: Renamed from WebCore/page/efl/AccessibilityObjectEfl.cpp.
330         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
331
332 2010-04-08  Pavel Feldman  <pfeldman@chromium.org>
333
334         Reviewed by Yury Semikhatsky.
335
336         Web Inspector: Render Load, DOM Content and MarkTimeline event dividers on Timeline panel.
337
338         https://bugs.webkit.org/show_bug.cgi?id=37267
339
340         * English.lproj/localizedStrings.js:
341         * inspector/InspectorController.cpp:
342         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
343         (WebCore::InspectorController::mainResourceFiredLoadEvent):
344         * inspector/InspectorController.h:
345         * inspector/InspectorTimelineAgent.cpp:
346         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
347         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
348         * inspector/InspectorTimelineAgent.h:
349         (WebCore::):
350         * inspector/front-end/ResourcesPanel.js:
351         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
352         * inspector/front-end/TimelineAgent.js:
353         * inspector/front-end/TimelineGrid.js:
354         (WebInspector.TimelineGrid.prototype.removeEventDividers):
355         * inspector/front-end/TimelinePanel.js:
356         (WebInspector.TimelinePanel):
357         (WebInspector.TimelinePanel.prototype.get _recordStyles):
358         (WebInspector.TimelinePanel.prototype._updateMarks):
359         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
360         (WebInspector.TimelinePanel.prototype._clearPanel):
361         (WebInspector.TimelinePanel.prototype._refresh):
362         (WebInspector.TimelinePanel.prototype._refreshRecords):
363         (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
364         (WebInspector.TimelineRecordGraphRow.prototype.update):
365         * inspector/front-end/inspector.css:
366         (.resources-event-divider):
367         (.resources-red-divider):
368         (.resources-blue-divider):
369         (.resources-orange-divider):
370
371 2010-04-01  Antonio Gomes  <tonikitoo@webkit.org>
372
373         Reviewed by David Hyatt.
374
375         [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
376         https://bugs.webkit.org/show_bug.cgi?id=29431
377
378         Test: fast/overflow/scrollbar-restored-and-then-locked.html
379
380         Patch introduces a lock scrollbars concept to ScrollView, as in WebDynamicScrollBarsView.mm/h
381         on WebKit/mac. It is needed because in QtWebKit, we have Api for setting both vertical and
382         horizontal scrollbars on/off/auto. When it is set to off, for example, it should remain
383         as such, unless unset.
384
385         For the locking concept, optional 'lock' parameters were added to setScrollbarModes,
386         setHorizontalScrollbarMode and setVerticalScrollbarMode methods of ScrollView. As these
387         are all optional, any previous code calling them do not need modification.
388
389         Two optional parameters were also added to Frame's createView method, for horizontal and vertical
390         lock state persistence cross page loads.
391
392         * page/Frame.cpp:
393         (WebCore::Frame::createView):
394         * platform/ScrollView.cpp:
395         (WebCore::ScrollView::ScrollView):
396         (WebCore::ScrollView::setScrollbarModes):
397         (WebCore::ScrollView::setHorizontalScrollbarMode):
398         (WebCore::ScrollView::setVerticalScrollbarMode):
399         * platform/ScrollView.h:
400         (WebCore::ScrollView::setHorizontalScrollbarLock):
401         (WebCore::ScrollView::isHorizontalScrollbarLocked):
402         (WebCore::ScrollView::setVerticalScrollbarLock):
403         (WebCore::ScrollView::isVerticalScrollbarLocked):
404         (WebCore::ScrollView::setScrollingModesLocked):
405
406 2010-04-08  Yury Semikhatsky  <yurys@chromium.org>
407
408         Reviewed by Pavel Feldman.
409
410         Correctly save number of properties when object being serialized
411         have properties in its prorotype.
412
413         https://bugs.webkit.org/show_bug.cgi?id=37263
414
415         * bindings/v8/SerializedScriptValue.cpp:
416         (WebCore::ZigZag::Serializer::AbstractObjectState::AbstractObjectState):
417         (WebCore::ZigZag::Serializer::AbstractObjectState::advance):
418
419 2010-04-08  Jeremy Orlow  <jorlow@chromium.org>
420
421         Reviewed by Yury Semikhatsky.
422
423         IDB callbacks should fire asynchronously
424         https://bugs.webkit.org/show_bug.cgi?id=37265
425
426         Fix the firing behavior of the callbacks to not be synchronous.
427
428         There's still a major bug that I'm trying to track down that is keeping
429         us from testing this stuff.  Promise lots of tests ASAP.
430
431         * bindings/v8/custom/V8CustomIDBCallbacks.h:
432         (WebCore::V8CustomIDBCallbacks::onSuccessAsync):
433         (WebCore::V8CustomIDBCallbacks::onErrorAsync):
434         * storage/IDBCallbacks.h:
435         (WebCore::IDBCallbacks::IDBCallbacks):
436         (WebCore::IDBCallbacks::onSuccess):
437         (WebCore::IDBCallbacks::onError):
438         (WebCore::IDBCallbacks::timerFired):
439         * storage/IndexedDatabaseRequest.cpp:
440
441 2010-04-08  Kent Tamura  <tkent@chromium.org>
442
443         Reviewed by Darin Adler.
444
445         willValidate doesn't need to check existence of a form element and a name attribute.
446         https://bugs.webkit.org/show_bug.cgi?id=34733
447
448         Remove checks against m_form and m_hasName in
449         HTMLFormControlElement::willValidate(), and remove the code to
450         track their updates.
451
452         Test: fast/forms/willvalidate.html
453
454         * html/HTMLFormControlElement.cpp:
455         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
456         (WebCore::HTMLFormControlElement::parseMappedAttribute):
457         (WebCore::HTMLFormControlElement::insertedIntoTree):
458         (WebCore::HTMLFormControlElement::removedFromTree):
459         (WebCore::HTMLFormControlElement::recalcWillValidate):
460         (WebCore::HTMLFormControlElement::willValidate):
461         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
462         * html/HTMLFormControlElement.h:
463         (WebCore::HTMLFormControlElement::formDestroyed):
464         * html/HTMLInputElement.cpp:
465         (WebCore::HTMLInputElement::setInputType):
466           setNeedsWillValidateCheck() should be called before
467           setAttribute(valueAttr, ...) is called.
468
469 2010-04-08  Young Han Lee  <joybro@company100.net>
470
471         Reviewed by Simon Hausmann.
472
473         [WINCE] Add missing headers
474         https://bugs.webkit.org/show_bug.cgi?id=37199
475
476         Include missing headers.
477
478         * platform/graphics/wince/FontCustomPlatformData.cpp:
479         * platform/graphics/wince/FontPlatformData.cpp:
480         * platform/graphics/wince/GraphicsContextWince.cpp:
481         * platform/graphics/wince/ImageBufferWince.cpp:
482         * platform/graphics/wince/PlatformPathWince.h:
483         * platform/wince/FileSystemWince.cpp:
484
485 2010-04-08  Kwang Yul Seo  <skyul@company100.net>
486
487         Reviewed by Simon Hausmann.
488
489         [WINCE] Use WebCore::instanceHandle()
490         https://bugs.webkit.org/show_bug.cgi?id=37202
491
492         Page::instanceHandle() is moved to WebCore::instanceHandle().
493
494         * platform/wince/PasteboardWince.cpp:
495         (WebCore::Pasteboard::Pasteboard):
496         * platform/wince/SharedTimerWince.cpp:
497         (WebCore::initializeOffScreenTimerWindow):
498
499 2010-04-08  Vitaly Repeshko  <vitalyr@chromium.org>
500
501         Reviewed by Dimitri Glazkov.
502
503         [V8] Fix crash in NodeFilterCondition in detached iframe
504         https://bugs.webkit.org/show_bug.cgi?id=37234
505
506         Test: fast/dom/node-filter-detached-iframe-crash.html
507
508         * bindings/v8/V8NodeFilterCondition.cpp:
509         (WebCore::V8NodeFilterCondition::acceptNode): Switched to using
510         callFunctionWithoutFrame.
511         * bindings/v8/V8Proxy.cpp:
512         (WebCore::V8Proxy::callFunctionWithoutFrame): Added a function to
513         call V8 with no current frame.
514         * bindings/v8/V8Proxy.h:
515
516 2010-04-08  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
517
518         Reviewed by Simon Hausmann.
519
520          [Qt] Remove shaderSource manipulation from GraphicsContext3DQt.cpp
521          https://bugs.webkit.org/show_bug.cgi?id=37226
522
523         * platform/graphics/qt/GraphicsContext3DQt.cpp:
524         (WebCore::GraphicsContext3D::shaderSource):
525
526 2010-04-08  Chris Evans  <cevans@chromium.org>
527
528         Reviewed by Adam Barth.
529
530         Sanity: apply a max node depth to XML parsing.
531
532         https://bugs.webkit.org/show_bug.cgi?id=37247
533
534         Test: fast/images/svg-nested.html
535
536         * dom/XMLTokenizer.cpp:
537         (WebCore::XMLTokenizer::pushCurrentNode):
538           Error out the parse upon a really large node depth.
539
540 2010-04-07  Dumitru Daniliuc  <dumi@chromium.org>
541
542         Reviewed by Jeremy Orlow.
543
544         Fix Chromium's HTML5 DB support in --single-process mode.
545         https://bugs.webkit.org/show_bug.cgi?id=37186.
546
547         Always register and use Chromium's SQLite VFS for
548         WebSQLDatabases. Keep using the default VFS in all other
549         cases. This change should allow Chromium to support
550         WebSQLDatabases in --single-process mode.
551
552         Also, cleaning up a bit SQLiteFileSystemChromium and getting rid
553         of the SQLITE_OPEN_FULLMUTEX flag: we use sqlite DB handles only
554         on the DB thread, so we don't need multi-threaded support.
555
556         * platform/sql/SQLiteDatabase.cpp:
557         (WebCore::SQLiteDatabase::open):
558         * platform/sql/SQLiteDatabase.h:
559         * platform/sql/SQLiteFileSystem.cpp:
560         (WebCore::SQLiteFileSystem::openDatabase):
561         * platform/sql/SQLiteFileSystem.h:
562         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
563         (WebCore::SQLiteFileSystem::openDatabase):
564         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
565         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
566         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
567         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
568         * storage/Database.cpp:
569         (WebCore::Database::performOpenAndVerify):
570
571 2010-04-07  Chris Marrin  <cmarrin@apple.com>
572
573         Reviewed by Steve Falkenburg.
574
575         Remove QuartzCoreInterface from the build
576         
577         No longer needed since QuartzCore.dll is now included in  the latest Safari release (4.0.5).
578         This gets rid of all the function shims from the clients of QuartzCore.dll.
579
580         * platform/graphics/win/GraphicsLayerCACF.cpp:
581         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
582         * platform/graphics/win/WKCACFLayer.cpp:
583         (WebCore::toCACFLayerType):
584         (WebCore::toCACFContentsGravityType):
585         (WebCore::fromCACFContentsGravityType):
586         (WebCore::toCACFFilterType):
587         (WebCore::fromCACFFilterType):
588         (WebCore::WKCACFLayer::isTransformLayer):
589         * platform/graphics/win/WKCACFLayerRenderer.cpp:
590         (WebCore::WKCACFLayerRenderer::createRenderer):
591
592 2010-04-07  Sheriff Bot  <webkit.review.bot@gmail.com>
593
594         Unreviewed, rolling out r57178.
595         http://trac.webkit.org/changeset/57178
596         https://bugs.webkit.org/show_bug.cgi?id=37240
597
598         Caused chromium browser_test and ui_test regressions
599         (Requested by ojan on #webkit).
600
601         * bindings/v8/ScriptController.cpp:
602         (WebCore::ScriptController::processingUserGesture):
603
604 2010-04-07  Jian Li  <jianli@chromium.org>
605
606         Reviewed by Adam Barth and Dmitry Titov.
607
608         Add the comment and assert that we're generating version 4 random number
609         based UUIDs.
610         https://bugs.webkit.org/show_bug.cgi?id=36472
611
612         * platform/UUID.cpp:
613         (WebCore::createCanonicalUUIDString):
614         * platform/UUID.h:
615
616 2010-04-07  Erik Arvidsson  <arv@chromium.org>
617
618         Reviewed by Adam Barth.
619
620         Allow white listing access from origin to local origin.
621         https://bugs.webkit.org/show_bug.cgi?id=37228
622
623         This makes it possible to load a local resource from a non local
624         origin if the access has previously been white listed by calling
625         SecurityOrigin::whiteListAccessFromOrigin.
626
627         Test: http/tests/security/local-image-from-remote-whitelisted.html
628
629         * page/OriginAccessEntry.cpp:
630         (WebCore::OriginAccessEntry::OriginAccessEntry): Removed assert that only the http and https protocol are valid.
631         * page/SecurityOrigin.cpp:
632         (WebCore::SecurityOrigin::canRequest): Use isAccessWhiteListed
633         (WebCore::SecurityOrigin::isAccessWhiteListed): Extracted code that goes through the originAccessMap to do the origin matching.
634         (WebCore::SecurityOrigin::canLoad): Check if access has been white listed.
635         * page/SecurityOrigin.h: Add private function isAccessWhiteListed
636
637 2010-04-07  Luiz Agostini  <luiz.agostini@openbossa.org>
638
639         Reviewed by Darin Adler.
640
641         Adding static method zero() to classes IntPoint and FloatPoint.
642         https://bugs.webkit.org/show_bug.cgi?id=37220
643
644         Adding static method zero() to classes IntPoint and FloatPoint as suggested by Darin Adler.
645
646         * platform/graphics/FloatPoint.h:
647         (WebCore::FloatPoint::zero):
648         * platform/graphics/IntPoint.h:
649         (WebCore::IntPoint::zero):
650         (WebCore::IntPoint::clampNegativeToZero):
651
652 2010-04-07  Alexey Proskuryakov  <ap@apple.com>
653
654         * platform/network/mac/AuthenticationMac.mm: Fix a typo in comment.
655
656 2010-04-07  Alexey Proskuryakov  <ap@apple.com>
657
658         Reviewed by Darin Adler.
659
660         https://bugs.webkit.org/show_bug.cgi?id=37230
661         <rdar://problem/7813115> REGRESSION (4.0.5): Safari asks for credentials all the time when
662         authenticating to Windows IIS Server
663
664         * platform/network/ProtectionSpace.h: (WebCore::ProtectionSpaceAuthenticationScheme): Added
665         a constant for ProtectionSpaceAuthenticationSchemeUnknown.
666
667         * platform/network/cf/AuthenticationCF.cpp: (WebCore::core):
668         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::authenticationSchemeFromAuthenticationMethod):
669         Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
670
671         * platform/network/mac/AuthenticationMac.mm:
672         (WebCore::mac): Support NTLM on systems older than 10.6. We actually get this string from
673         NSURLConnection, even though there was no public constant.
674         (WebCore::core): Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
675
676 2010-04-07  Jaime Yap  <jaimeyap@google.com>
677
678         Reviewed by Pavel Feldman.
679
680         Adds the ability to get the function symbol name when looking up the call location
681         for records sent by the InspectorTimelineAgent.
682         https://bugs.webkit.org/show_bug.cgi?id=36839
683
684         No new tests.
685
686         * bindings/js/ScriptCallStack.cpp:
687         (WebCore::ScriptCallStack::callLocation):
688         * bindings/js/ScriptCallStack.h:
689         * bindings/v8/ScriptCallStack.cpp:
690         (WebCore::ScriptCallStack::create):
691         (WebCore::ScriptCallStack::callLocation):
692         (WebCore::ScriptCallStack::ScriptCallStack):
693         * bindings/v8/ScriptCallStack.h:
694         * bindings/v8/ScriptDebugServer.cpp:
695         (WebCore::ScriptDebugServer::createUtilityContext):
696         (WebCore::ScriptDebugServer::topStackFrame):
697         * bindings/v8/ScriptDebugServer.h:
698         (WebCore::ScriptDebugServer::utilityContext):
699         * bindings/v8/V8Proxy.cpp:
700         * bindings/v8/V8Proxy.h:
701         * inspector/TimelineRecordFactory.cpp:
702         (WebCore::TimelineRecordFactory::createGenericRecord):
703
704 2010-04-07  Jay Civelli  <jcivelli@chromium.org>
705
706         Reviewed by Jian Li.
707
708         [chromium] Fixing a NULL pointer being dereferenced in some cases.
709         https://bugs.webkit.org/show_bug.cgi?id=37141
710
711         Test: platform/chromium/fast/forms/search-popup-crasher.html
712
713         * platform/chromium/PopupMenuChromium.cpp:
714         (WebCore::PopupMenu::~PopupMenu):
715
716 2010-04-07  Kinuko Yasuda  <kinuko@chromium.org>
717
718         Reviewed by Jian Li.
719
720         Add skeleton FileStream module for providing sync file operations for FileAPI
721         https://bugs.webkit.org/show_bug.cgi?id=37217
722
723         For now the module just defines an interface and is almost empty.
724         Implementation will be added.
725
726         No new tests; will be added when we have complete implementation.
727
728         * GNUmakefile.am:
729         * WebCore.gypi:
730         * WebCore.pro:
731         * WebCore.vcproj/WebCore.vcproj:
732         * WebCore.xcodeproj/project.pbxproj:
733         * html/FileStream.cpp: Added.
734         * html/FileStream.h: Added.
735         * html/FileStreamClient.h: Added.
736         * html/FileThread.cpp:
737         (WebCore::SameFilePredicate::SameFilePredicate):
738         (WebCore::SameFilePredicate::operator()):
739         (WebCore::FileThread::unscheduleTasks):
740         * html/FileThread.h:
741         (WebCore::FileThread::Task::stream):
742         (WebCore::FileThread::Task::Task):
743
744 2010-04-07  Oliver Hunt  <oliver@apple.com>
745
746         Reviewed by Darin Adler.
747
748         Remove some unnecessary uses of commonJSGlobalData
749         https://bugs.webkit.org/show_bug.cgi?id=37229
750
751         Pass the ExecState down to identifierFromNPIdentifier and update call sites
752
753         * bridge/NP_jsobject.cpp:
754         (_NPN_Invoke):
755         (_NPN_GetProperty):
756         (_NPN_SetProperty):
757         (_NPN_RemoveProperty):
758         (_NPN_HasProperty):
759         (_NPN_HasMethod):
760         * bridge/c/c_instance.cpp:
761         (JSC::Bindings::CInstance::getPropertyNames):
762         * bridge/c/c_utility.cpp:
763         (JSC::Bindings::identifierFromNPIdentifier):
764         * bridge/c/c_utility.h:
765
766 2010-04-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
767
768         Reviewed by Darin Adler.
769
770         Poor rendering on lala.com with frame flattening
771         https://bugs.webkit.org/show_bug.cgi?id=37164
772
773         Do not flatten offscreen iframes.
774
775         Test: fast/frames/flattening/iframe-flattening-offscreen.html
776
777         * rendering/RenderPartObject.cpp:
778         (WebCore::RenderPartObject::flattenFrame):
779         * rendering/RenderPartObject.h:
780
781 2010-04-07  Abhishek Arya  <inferno@chromium.org>
782
783         Reviewed by Adam Barth.
784
785         [V8] Add a missing check for constructor call in WebKitPointConstructor.
786         https://bugs.webkit.org/show_bug.cgi?id=37210
787
788         Test: fast/constructors/constructor-as-function-crash.html
789
790         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
791         (WebCore::V8WebKitPoint::constructorCallback): Added a check for constructor call.
792
793 2010-04-07  Enrica Casucci  <enrica@apple.com>
794
795         Reviewed by Darin Adler.
796
797         https://bugs.webkit.org/show_bug.cgi?id=37219
798         
799         This change disables text caret for the iPhone platflorm.
800         Added UNUSED_PARAM to build when ENABLE_TEXT_CARET is 0.
801
802         * editing/SelectionController.cpp:
803         (WebCore::SelectionController::recomputeCaretRect):
804         (WebCore::SelectionController::paintCaret):
805         * page/Frame.cpp:
806         (WebCore::Frame::paintDragCaret):
807
808 2010-04-07  Enrica Casucci  <enrica@apple.com>
809
810         Reviewed by Dave Hyatt.
811
812         Text repainting does not account for glyphs which draw outside the typographic bounds of the font (6274).
813         <rdar://problem/6649734>
814         <https://bugs.webkit.org/show_bug.cgi?id=6274>
815         
816         In order to be able to handle successfully this case, it is necessary to change the glyph width cache to store
817         the bounding box for the glyph instead of the simply caching the glyph width.
818         Retrieving the bounding box for the glyph is expensive, therefore we do it only
819         when we are rendering text using the complex text path to minimize the performance impact.
820         To support characters with stacked diacritics, the method canUseGlyphCache has been modified to
821         return false for the range of characters with stacked diacritics.
822         The glyph cache has been also updated to allow storing the glyph bounding box together with the
823         horizontal width. The bounding box is populated only for complex text.
824         
825         The original version of this patch has been written by Dan Bernstein.
826
827         Test: fast/repaint/stacked-diacritics.html
828
829         * Android.mk: File name change.
830         * GNUmakefile.am: File name change.
831         * WebCore.base.exp: Added parameter in exported function.
832         * WebCore.gypi: File name change.
833         * WebCore.vcproj/WebCore.vcproj: File name change.
834         * WebCore.xcodeproj/project.pbxproj: File name change.
835         * platform/graphics/Font.cpp:
836         (WebCore::Font::floatWidth): Added glyphOverflow parameter.
837         * platform/graphics/Font.h:
838         (WebCore::GlyphOverflow::GlyphOverflow): Added.
839         (WebCore::Font::width): Added glyphOverflow parameter.
840         * platform/graphics/FontFastPath.cpp:
841         (WebCore::Font::canUseGlyphCache): Modified to render characters with stacked diacritics with complex text path.
842         * platform/graphics/GlyphMetricsMap.cpp: Copied from WebCore/platform/graphics/GlyphWidthMap.cpp.
843         (WebCore::GlyphMetricsMap::locatePageSlowCase): Class name changed to reflect new semantics.
844         * platform/graphics/GlyphMetricsMap.h: Copied from WebCore/platform/graphics/GlyphWidthMap.h.
845         (WebCore::GlyphMetricsMap::GlyphMetricsMap):
846         (WebCore::GlyphMetricsMap::~GlyphMetricsMap):
847         (WebCore::GlyphMetricsMap::metricsForGlyph):
848         (WebCore::GlyphMetricsMap::widthForGlyph):
849         (WebCore::GlyphMetricsMap::setMetricsForGlyph):
850         (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
851         (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
852         (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
853         (WebCore::GlyphMetricsMap::locatePage):
854         * platform/graphics/GlyphWidthMap.cpp: Removed.
855         * platform/graphics/GlyphWidthMap.h: Removed.
856         * platform/graphics/SimpleFontData.cpp:
857         (WebCore::SimpleFontData::platformGlyphInit):
858         * platform/graphics/SimpleFontData.h:
859         (WebCore::):
860         (WebCore::SimpleFontData::widthForGlyph):
861         (WebCore::SimpleFontData::metricsForGlyph):
862         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
863         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
864         * platform/graphics/chromium/FontChromiumWin.cpp:
865         (WebCore::Font::floatWidthForComplexText): Added parameter.
866         * platform/graphics/chromium/FontLinux.cpp:
867         (WebCore::Font::floatWidthForComplexText): Added parameter.
868         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
869         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
870         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
871         (WebCore::SimpleFontData::platformWidthForGlyph): Name and signature vachange
872         * platform/graphics/efl/FontEfl.cpp:
873         (WebCore::Font::floatWidthForComplexText): Name and signature change.
874         * platform/graphics/gtk/SimpleFontDataPango.cpp:
875         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
876         * platform/graphics/haiku/FontHaiku.cpp:
877         (WebCore::Font::floatWidthForComplexText): Added parameter.
878         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
879         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
880         * platform/graphics/mac/ComplexTextController.cpp:
881         (WebCore::ComplexTextController::ComplexTextController):
882         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
883         * platform/graphics/mac/ComplexTextController.h:
884         (WebCore::ComplexTextController::minGlyphBoundingBoxX):
885         (WebCore::ComplexTextController::maxGlyphBoundingBoxX):
886         (WebCore::ComplexTextController::minGlyphBoundingBoxY):
887         (WebCore::ComplexTextController::maxGlyphBoundingBoxY):
888         * platform/graphics/mac/FontComplexTextMac.cpp:
889         (WebCore::Font::floatWidthForComplexText): Added paramter.
890         * platform/graphics/mac/SimpleFontDataMac.mm:
891         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
892         * platform/graphics/qt/FontQt.cpp:
893         (WebCore::Font::floatWidthForComplexText): Added paramter.
894         * platform/graphics/win/FontWin.cpp:
895         (WebCore::Font::floatWidthForComplexText): Added parameter.
896         * platform/graphics/win/SimpleFontDataCGWin.cpp:
897         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
898         * platform/graphics/win/SimpleFontDataWin.cpp:
899         (WebCore::SimpleFontData::metricsForGDIGlyph):
900         * platform/graphics/win/UniscribeController.cpp:
901         (WebCore::UniscribeController::UniscribeController):
902         (WebCore::UniscribeController::shapeAndPlaceItem):
903         * platform/graphics/win/UniscribeController.h:
904         (WebCore::UniscribeController::minGlyphBoundingBoxX):
905         (WebCore::UniscribeController::maxGlyphBoundingBoxX):
906         (WebCore::UniscribeController::minGlyphBoundingBoxY):
907         (WebCore::UniscribeController::maxGlyphBoundingBoxY):
908         * platform/graphics/wince/FontWince.cpp:
909         (WebCore::Font::floatWidthForComplexText): Added parameter.
910         * platform/graphics/wx/FontWx.cpp:
911         (WebCore::Font::floatWidthForComplexText): Added parameter.
912         * platform/graphics/wx/SimpleFontDataWx.cpp:
913         (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
914         * rendering/InlineFlowBox.cpp:
915         (WebCore::InlineFlowBox::placeBoxesHorizontally):
916         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
917         (WebCore::InlineFlowBox::computeVerticalOverflow):
918         * rendering/InlineTextBox.cpp:
919         (WebCore::InlineTextBox::setFallbackFonts):
920         (WebCore::InlineTextBox::fallbackFonts):
921         (WebCore::InlineTextBox::setGlyphOverflow):
922         (WebCore::InlineTextBox::glyphOverflow):
923         * rendering/InlineTextBox.h:
924         (WebCore::InlineTextBox::clearGlyphOverflowAndFallbackFontMap): Added.
925         * rendering/RenderBlockLineLayout.cpp:
926         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
927         (WebCore::RenderBlock::layoutInlineChildren):
928         * rendering/RenderText.cpp:
929         (WebCore::RenderText::RenderText):
930         (WebCore::RenderText::styleDidChange):
931         (WebCore::RenderText::widthFromCache):
932         (WebCore::RenderText::trimmedPrefWidths):
933         (WebCore::RenderText::calcPrefWidths):
934         (WebCore::RenderText::setText):
935         (WebCore::RenderText::width):
936         * rendering/RenderText.h:
937
938 2010-04-07  Joseph Pecoraro  <joepeck@webkit.org>
939
940         Reviewed by Darin Adler.
941
942         Fix incorrect white-space in WebGLRenderingContext.idl
943         https://bugs.webkit.org/show_bug.cgi?id=31339
944
945         * html/canvas/WebGLRenderingContext.idl: Remove offending extra whitespace.
946
947 2010-04-07  Rodrigo Belem  <rodrigo.belem@openbossa.org>
948
949         Reviewed by Simon Hausmann.
950
951         [Qt] The build system is not installing the generated headers (QGraphicsWebView, QWebDatabase, etc)
952         https://bugs.webkit.org/show_bug.cgi?id=37173
953
954         This patch sets the correct path to the classheaders.pri and then
955         fixes the installation of the generated headers.
956
957         * WebCore.pro:
958
959 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
960
961         Reviewed by Kenneth Christiansen.
962
963         Spatial Navigation: bail out as soon as algorithm finds a focus candidate is not applicable
964         https://bugs.webkit.org/show_bug.cgi?id=37135
965
966         It happens, for example, when distanceDataForNode assigns numeric_limits<long long> to
967         current focus candidate's. It means that current candidate is not in direction, or not
968         a valid target node.
969
970         * page/FocusController.cpp:
971         (WebCore::FocusController::findFocusableNodeInDirection):
972
973 2010-04-07  Andrey Kosyakov  <caseq@chromium.org>
974
975         Reviewed by Yury Semikhatsky.
976
977         Removed inspector methods from ScriptExecutionContext and derived classes.
978         Removed MessageDestination parameter from console-related calls (we now always
979         log to the same destination(s)).
980         Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
981         https://bugs.webkit.org/show_bug.cgi?id=36949
982
983         * dom/Document.cpp:
984         (WebCore::Document::reportException):
985         (WebCore::Document::addMessage):
986         * dom/Document.h:
987         * dom/ScriptExecutionContext.h:
988         * loader/EmptyClients.h:
989         (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
990         * loader/FrameLoaderClient.h:
991         * loader/ResourceLoadNotifier.cpp:
992         * loader/ResourceLoadNotifier.h:
993         * websockets/WebSocket.cpp:
994         (WebCore::WebSocket::connect):
995         * websockets/WebSocketChannel.cpp:
996         (WebCore::WebSocketChannel::didOpen):
997         (WebCore::WebSocketChannel::appendToBuffer):
998         * websockets/WebSocketHandshake.cpp:
999         (WebCore::WebSocketHandshake::readServerHandshake):
1000         (WebCore::WebSocketHandshake::readHTTPHeaders):
1001         (WebCore::WebSocketHandshake::checkResponseHeaders):
1002         * workers/DefaultSharedWorkerRepository.cpp:
1003         (WebCore::postConsoleMessageTask):
1004         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
1005         * workers/WorkerContext.cpp:
1006         (WebCore::WorkerContext::importScripts):
1007         (WebCore::WorkerContext::addMessage):
1008         * workers/WorkerContext.h:
1009         * workers/WorkerMessagingProxy.cpp:
1010         (WebCore::postConsoleMessageTask):
1011         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
1012         * workers/WorkerMessagingProxy.h:
1013         * workers/WorkerReportingProxy.h:
1014         * xml/XMLHttpRequest.cpp:
1015         (WebCore::reportUnsafeUsage):
1016         (WebCore::XMLHttpRequest::didFinishLoading):
1017
1018 2010-04-07  Dawit Alemayehu  <adawit@kde.org>
1019
1020         Reviewed by Simon Hausmann.
1021
1022         https://bugs.webkit.org/show_bug.cgi?id=36827
1023
1024         Replaced the 'shouldTreatAsAttachment' function with a more generic 
1025         function that returns the content disposition type.
1026
1027         See comments 39-42 in https://bugs.webkit.org/show_bug.cgi?id=36395
1028
1029         * platform/network/HTTPParsers.cpp:
1030         (WebCore::contentDispositionType):
1031         * platform/network/HTTPParsers.h:
1032         (WebCore::):
1033
1034 2010-04-07  Vitaly Repeshko  <vitalyr@chromium.org>
1035
1036         Reviewed by Yury Semikhatsky.
1037
1038         [V8] Throw exception in SerializedScriptValue on input errors
1039         https://bugs.webkit.org/show_bug.cgi?id=37160
1040
1041         When cycles are detected SerializedScriptValue should throw
1042         NOT_SUPPORTED_ERR. See
1043         http://www.whatwg.org/specs/web-apps/2009-10-27/multipage/urls.html#structured-clone
1044
1045         * bindings/scripts/CodeGeneratorV8.pm: Custom processing for
1046         function arguments of type SerializedScriptValue.
1047
1048         * bindings/v8/SerializedScriptValue.cpp:
1049         (WebCore::SerializedScriptValue::SerializedScriptValue):
1050         * bindings/v8/SerializedScriptValue.h:
1051         (WebCore::SerializedScriptValue::create): Added a constructor
1052         function with an extra paratemer to check whether an exception was
1053         thrown.
1054
1055         SerializedScriptValue::create callers updated to check for
1056         exceptions:
1057         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1058         (WebCore::V8DOMWindow::postMessageCallback):
1059         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1060         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
1061         * bindings/v8/custom/V8HistoryCustom.cpp:
1062         (WebCore::V8History::pushStateCallback):
1063         (WebCore::V8History::replaceStateCallback):
1064         * bindings/v8/custom/V8MessagePortCustom.cpp:
1065         (WebCore::V8MessagePort::postMessageCallback):
1066         * bindings/v8/custom/V8PopStateEventCustom.cpp:
1067         (WebCore::V8PopStateEvent::initPopStateEventCallback):
1068         * bindings/v8/custom/V8WorkerCustom.cpp:
1069         (WebCore::V8Worker::postMessageCallback):
1070
1071 2010-04-07  Alexander Pavlov  <apavlov@chromium.org>
1072
1073         Reviewed by Pavel Feldman.
1074
1075         Web Inspector: Provide a placeholder for resources with no content available
1076         https://bugs.webkit.org/show_bug.cgi?id=37142
1077
1078         * English.lproj/localizedStrings.js:
1079         * inspector/front-end/ImageView.js:
1080         (WebInspector.ImageView):
1081         (WebInspector.ImageView.prototype.contentTabSelected):
1082         * inspector/front-end/ResourceView.js:
1083         (WebInspector.ResourceView.prototype._innerSelectContentTab):
1084         (WebInspector.ResourceView.prototype.contentTabSelected):
1085         * inspector/front-end/inspector.css:
1086         (.resource-content-unavailable):
1087
1088 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
1089
1090         Reviewed by Laszlo Gombos.
1091
1092         https://bugs.webkit.org/show_bug.cgi?id=36750
1093
1094         [Qt] Package build without touch support is broken
1095
1096         Use the conditional attribute instead of #ifdefs in the idl file for the
1097         touch specific properties, to make the generated files compile with and
1098         without the touch events enabled.
1099
1100         * dom/Document.idl: Use conditional instead of #ifdef.
1101         * dom/Element.idl: Ditto.
1102         * page/DOMWindow.idl: Ditto.
1103
1104 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
1105
1106         Reviewed by Holger Freyther.
1107
1108         Add the touch event related IDL files to the idl generation, so that
1109         they can be safely included from generated JS bindings files. The
1110         generated files have #ifdef feature guards.
1111
1112         * DerivedSources.cpp:
1113         * DerivedSources.make:
1114         * GNUmakefile.am:
1115
1116 2010-04-06  Jeremy Orlow  <jorlow@chromium.org>
1117
1118         Reviewed by Adam Barth.
1119
1120         V8CustomIDBCallbacks<> should not hold a reference to the frame
1121         https://bugs.webkit.org/show_bug.cgi?id=37154
1122
1123         Don't hold on to a Frame reference.
1124         Instead, be an ActiveDOMObject and use scriptExecutionContext()
1125         to get the v8 context.
1126         Factor the guts of onSuccess and onError out.
1127
1128         Doesn't work enough to test yet.
1129
1130         * bindings/v8/custom/V8CustomIDBCallbacks.h:
1131         (WebCore::V8CustomIDBCallbacks::create):
1132         (WebCore::V8CustomIDBCallbacks::onSuccess):
1133         (WebCore::V8CustomIDBCallbacks::onError):
1134         (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
1135         (WebCore::V8CustomIDBCallbacks::onEvent):
1136         * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
1137         (WebCore::V8IndexedDatabaseRequest::openCallback):
1138         * storage/IDBCallbacks.h:
1139         (WebCore::IDBCallbacks::IDBCallbacks):
1140
1141 2010-04-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1142
1143         Unreviewed, rolling out r57196.
1144         http://trac.webkit.org/changeset/57196
1145         https://bugs.webkit.org/show_bug.cgi?id=37196
1146
1147         Multiple layout test failures on Chromium (Requested by yurys
1148         on #webkit).
1149
1150         * bindings/js/ScriptCallStack.cpp:
1151         (WebCore::ScriptCallStack::callLocation):
1152         * bindings/js/ScriptCallStack.h:
1153         * bindings/v8/ScriptCallStack.cpp:
1154         (WebCore::ScriptCallStack::create):
1155         (WebCore::ScriptCallStack::callLocation):
1156         (WebCore::ScriptCallStack::ScriptCallStack):
1157         * bindings/v8/ScriptCallStack.h:
1158         * bindings/v8/ScriptDebugServer.cpp:
1159         * bindings/v8/ScriptDebugServer.h:
1160         * bindings/v8/V8Proxy.cpp:
1161         (WebCore::V8Proxy::createUtilityContext):
1162         (WebCore::V8Proxy::sourceLineNumber):
1163         (WebCore::V8Proxy::sourceName):
1164         * bindings/v8/V8Proxy.h:
1165         (WebCore::V8Proxy::utilityContext):
1166         * inspector/TimelineRecordFactory.cpp:
1167         (WebCore::TimelineRecordFactory::createGenericRecord):
1168
1169 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
1170
1171         Unreviewed, rolling out r57199.
1172         http://trac.webkit.org/changeset/57199
1173         https://bugs.webkit.org/show_bug.cgi?id=36750
1174
1175         Breaks non-touch enabled build
1176
1177         * dom/Document.idl:
1178         * dom/Element.idl:
1179         * page/DOMWindow.idl:
1180
1181 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
1182
1183         Reviewed by Laszlo Gombos.
1184
1185         https://bugs.webkit.org/show_bug.cgi?id=36750
1186
1187         [Qt] Package build without touch support is broken
1188
1189         Use the conditional attribute instead of #ifdefs in the idl file for the
1190         touch specific properties, to make the generated files compile with and
1191         without the touch events enabled.
1192
1193         * dom/Document.idl: Use conditional instead of #ifdef.
1194         * dom/Element.idl: Ditto.
1195         * page/DOMWindow.idl: Ditto.
1196
1197 2010-04-07  Jaime Yap  <jaimeyap@google.com>
1198
1199         Reviewed by Yury Semikhatsky.
1200
1201         Adds the ability to get the function symbol name when looking up the call location
1202         for records sent by the InspectorTimelineAgent.
1203         https://bugs.webkit.org/show_bug.cgi?id=36839
1204
1205         No new tests.
1206
1207         * bindings/js/ScriptCallStack.cpp:
1208         (WebCore::ScriptCallStack::callLocation):
1209         * bindings/js/ScriptCallStack.h:
1210         * bindings/v8/ScriptCallStack.cpp:
1211         (WebCore::ScriptCallStack::create):
1212         (WebCore::ScriptCallStack::callLocation):
1213         (WebCore::ScriptCallStack::ScriptCallStack):
1214         * bindings/v8/ScriptCallStack.h:
1215         * bindings/v8/ScriptDebugServer.cpp:
1216         (WebCore::ScriptDebugServer::createUtilityContext):
1217         (WebCore::ScriptDebugServer::lastCallFrame):
1218         * bindings/v8/ScriptDebugServer.h:
1219         (WebCore::ScriptDebugServer::utilityContext):
1220         * bindings/v8/V8Proxy.cpp:
1221         * bindings/v8/V8Proxy.h:
1222         * inspector/TimelineRecordFactory.cpp:
1223         (WebCore::TimelineRecordFactory::createGenericRecord):
1224
1225 2010-04-06  Greg Bolsinga  <bolsinga@apple.com>
1226
1227         Reviewed by Darin Adler.
1228
1229         https://bugs.webkit.org/show_bug.cgi?id=37188
1230         WebCore::page::Geolocation::m_shouldClearCache is not used.
1231
1232         * page/Geolocation.cpp:
1233         (WebCore::Geolocation::Geolocation): Remove m_shouldClearCache.
1234         * page/Geolocation.h:
1235         (WebCore::Geolocation::): Ditto.
1236
1237 2010-04-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1238
1239         Reviewed by Eric Seidel.
1240
1241         Remove obsolete MOBILE flag
1242         https://bugs.webkit.org/show_bug.cgi?id=37125
1243
1244         The MOBILE flag is no longer used by any of the ports.
1245         The flag use to control some tokenizer defaults that 
1246         can be changed runtime.
1247
1248         No new tests as there is no new functionality.
1249
1250         * config.h:
1251         * html/HTMLTokenizer.cpp:
1252
1253 2010-04-06  Adam Barth  <abarth@webkit.org>
1254
1255         Reviewed by Eric Seidel.
1256
1257         REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail.
1258         https://bugs.webkit.org/show_bug.cgi?id=36646
1259
1260         Cause the worker code to swallow termination exceptions because these
1261         need not be reported to the user because they are an implementation
1262         detail of how we terminate worker execution.
1263
1264         Test: fast/workers/worker-terminate-forever.html
1265
1266         * bindings/js/JSDOMBinding.cpp:
1267         (WebCore::reportException):
1268             - Refuse to report termination exceptions to the user because they
1269               are an implementation detail.
1270         * bindings/js/WorkerScriptController.cpp:
1271         (WebCore::WorkerScriptController::forbidExecution):
1272             - Instead of using timeouts to stop run away workers, use our fancy
1273               new Terminator object.
1274
1275 2010-04-06  Kinuko Yasuda  <kinuko@chromium.org>
1276
1277         Reviewed by Jian Li.
1278
1279         Add basic FileSystem operations for FileReader/FileWriter support for POSIX (incl. Mac)
1280         https://bugs.webkit.org/show_bug.cgi?id=36938
1281
1282         No new tests; will be added when we implement upper layers.
1283
1284         * platform/FileSystem.h:
1285         (WebCore::):
1286         * platform/posix/FileSystemPOSIX.cpp:
1287         (WebCore::openFile):
1288         (WebCore::closeFile):
1289         (WebCore::seekFile):
1290         (WebCore::truncateFile):
1291         (WebCore::writeToFile):
1292         (WebCore::readFromFile):
1293
1294 2010-04-06  Nicolas Weber  <thakis@chromium.org>
1295
1296         Reviewed by Dimitri Glazkov.
1297
1298         Implement DragImage functionality for chromium/mac.
1299         https://bugs.webkit.org/show_bug.cgi?id=37069
1300
1301         * page/chromium/DragControllerChromium.cpp:
1302         (WebCore::DragController::maxDragImageSize):
1303         Use a max size of 400x400 on OS X.
1304         * platform/chromium/DragImageChromiumMac.cpp:
1305         (WebCore::dragImageSize): Implement.
1306         (WebCore::deleteDragImage): Implement.
1307         (WebCore::scaleDragImage): Implement.
1308         (WebCore::dissolveDragImageToFraction): Implement.
1309         (WebCore::createDragImageFromImage): Implement.
1310         * platform/chromium/DragImageRef.h:
1311         Use CGImageRefs as DragImageRef on OS X.
1312
1313 2010-04-06  Chris Evans  <cevans@chromium.org>
1314
1315         Reviewed by Adam Barth.
1316
1317         Use the new UserGestureIndictor to process javascript:window.open()
1318
1319         https://bugs.webkit.org/show_bug.cgi?id=37138
1320
1321         * bindings/v8/ScriptController.cpp
1322         (WebCore::ScriptController::processingUserGesture):
1323           Use the new UserGestureIndicator when processing a
1324           javascript:window.open()
1325
1326 2010-04-06  Vangelis Kokkevis  <vangelis@chromium.org>
1327
1328         Reviewed by Dimitri Glazkov.
1329
1330         Renaming Graphics Layer related classes used by Chromium from *Skia to *Chromium and replacing wherever possible Skia-specific
1331         data types with WebCore equivalents. The source files will be renamed accordingly and moved out of platform/graphics/skia
1332         in a subsequent CL.
1333         https://bugs.webkit.org/show_bug.cgi?id=37116
1334
1335         No new functionality so no new tests.
1336
1337         * platform/graphics/GraphicsLayer.h:
1338         * platform/graphics/skia/GraphicsLayerSkia.cpp:
1339         (WebCore::setLayerBorderColor):
1340         (WebCore::clearBorderColor):
1341         (WebCore::setLayerBackgroundColor):
1342         (WebCore::clearLayerBackgroundColor):
1343         (WebCore::GraphicsLayer::create):
1344         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1345         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1346         (WebCore::GraphicsLayerChromium::setName):
1347         (WebCore::GraphicsLayerChromium::nativeLayer):
1348         (WebCore::GraphicsLayerChromium::setChildren):
1349         (WebCore::GraphicsLayerChromium::addChild):
1350         (WebCore::GraphicsLayerChromium::addChildAtIndex):
1351         (WebCore::GraphicsLayerChromium::addChildBelow):
1352         (WebCore::GraphicsLayerChromium::addChildAbove):
1353         (WebCore::GraphicsLayerChromium::replaceChild):
1354         (WebCore::GraphicsLayerChromium::removeFromParent):
1355         (WebCore::GraphicsLayerChromium::setPosition):
1356         (WebCore::GraphicsLayerChromium::setAnchorPoint):
1357         (WebCore::GraphicsLayerChromium::setSize):
1358         (WebCore::GraphicsLayerChromium::setTransform):
1359         (WebCore::GraphicsLayerChromium::setChildrenTransform):
1360         (WebCore::GraphicsLayerChromium::setPreserves3D):
1361         (WebCore::GraphicsLayerChromium::setMasksToBounds):
1362         (WebCore::GraphicsLayerChromium::setDrawsContent):
1363         (WebCore::GraphicsLayerChromium::setBackgroundColor):
1364         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1365         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1366         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1367         (WebCore::GraphicsLayerChromium::setOpacity):
1368         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1369         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1370         (WebCore::GraphicsLayerChromium::setContentsRect):
1371         (WebCore::GraphicsLayerChromium::setContentsToImage):
1372         (WebCore::GraphicsLayerChromium::setContentsToVideo):
1373         (WebCore::GraphicsLayerChromium::setGeometryOrientation):
1374         (WebCore::GraphicsLayerChromium::hostLayerForSublayers):
1375         (WebCore::GraphicsLayerChromium::layerForSuperlayer):
1376         (WebCore::GraphicsLayerChromium::platformLayer):
1377         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1378         (WebCore::GraphicsLayerChromium::setDebugBorder):
1379         (WebCore::GraphicsLayerChromium::updateSublayerList):
1380         (WebCore::GraphicsLayerChromium::updateLayerPosition):
1381         (WebCore::GraphicsLayerChromium::updateLayerSize):
1382         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1383         (WebCore::GraphicsLayerChromium::updateTransform):
1384         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1385         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1386         (WebCore::GraphicsLayerChromium::updateContentsOpaque):
1387         (WebCore::GraphicsLayerChromium::updateBackfaceVisibility):
1388         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1389         (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
1390         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1391         (WebCore::GraphicsLayerChromium::updateContentsImage):
1392         (WebCore::GraphicsLayerChromium::updateContentsVideo):
1393         (WebCore::GraphicsLayerChromium::updateContentsRect):
1394         (WebCore::GraphicsLayerChromium::updateGeometryOrientation):
1395         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1396         (WebCore::GraphicsLayerChromium::updateOpacityOnLayer):
1397         * platform/graphics/skia/GraphicsLayerSkia.h:
1398         (WebCore::GraphicsLayerChromium::primaryLayer):
1399         (WebCore::GraphicsLayerChromium::contentsLayer):
1400         * platform/graphics/skia/LayerRendererSkia.cpp:
1401         (WebCore::LayerRendererChromium::create):
1402         (WebCore::LayerRendererChromium::LayerRendererChromium):
1403         (WebCore::LayerRendererChromium::~LayerRendererChromium):
1404         (WebCore::LayerRendererChromium::updateLayerContents):
1405         (WebCore::LayerRendererChromium::drawLayersInCanvas):
1406         (WebCore::LayerRendererChromium::drawLayerInCanvasRecursive):
1407         (WebCore::LayerRendererChromium::updateLayerContentsRecursive):
1408         * platform/graphics/skia/LayerRendererSkia.h:
1409         (WebCore::LayerRendererChromium::setRootLayer):
1410         (WebCore::LayerRendererChromium::rootLayer):
1411         * platform/graphics/skia/LayerSkia.cpp:
1412         (WebCore::LayerChromium::create):
1413         (WebCore::LayerChromium::LayerChromium):
1414         (WebCore::LayerChromium::~LayerChromium):
1415         (WebCore::LayerChromium::updateGraphicsContext):
1416         (WebCore::LayerChromium::updateContents):
1417         (WebCore::LayerChromium::drawDebugBorder):
1418         (WebCore::LayerChromium::setNeedsCommit):
1419         (WebCore::LayerChromium::addSublayer):
1420         (WebCore::LayerChromium::insertSublayer):
1421         (WebCore::LayerChromium::removeFromSuperlayer):
1422         (WebCore::LayerChromium::removeSublayer):
1423         (WebCore::LayerChromium::indexOfSublayer):
1424         (WebCore::LayerChromium::setBackingStoreRect):
1425         (WebCore::LayerChromium::setBounds):
1426         (WebCore::LayerChromium::setFrame):
1427         (WebCore::LayerChromium::rootLayer):
1428         (WebCore::LayerChromium::removeAllSublayers):
1429         (WebCore::LayerChromium::setSublayers):
1430         (WebCore::LayerChromium::setSuperlayer):
1431         (WebCore::LayerChromium::superlayer):
1432         (WebCore::LayerChromium::setNeedsDisplay):
1433         * platform/graphics/skia/LayerSkia.h:
1434         (WebCore::LayerChromium::setAnchorPoint):
1435         (WebCore::LayerChromium::anchorPoint):
1436         (WebCore::LayerChromium::borderWidth):
1437         (WebCore::LayerChromium::bounds):
1438         (WebCore::LayerChromium::frame):
1439         (WebCore::LayerChromium::setPosition):
1440         (WebCore::LayerChromium::position):
1441         (WebCore::LayerChromium::zPosition):
1442         (WebCore::LayerChromium::getSublayers):
1443         (WebCore::LayerChromium::setSublayerTransform):
1444         (WebCore::LayerChromium::sublayerTransform):
1445         (WebCore::LayerChromium::setTransform):
1446         (WebCore::LayerChromium::transform):
1447
1448 2010-04-06  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
1449
1450         Reviewed by Laszlo Gombos.
1451
1452         [Qt] WebKit does not build on Windows with --3d-canvas
1453         https://bugs.webkit.org/show_bug.cgi?id=37026
1454
1455         * platform/graphics/GraphicsContext3D.h:
1456         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1457         (WebCore::GraphicsContext3D::getActiveAttrib):
1458         (WebCore::GraphicsContext3D::getActiveUniform):
1459
1460 2010-04-06  Abhinav Mithal <abhinav.mithal@nokia.com>
1461
1462         Reviewed by Laszlo Gombos.
1463
1464         [Qt] npapi header leaves XP_WIN flag defined even when __SYMBIAN32__ flag is found
1465         https://bugs.webkit.org/show_bug.cgi?id=34614
1466
1467         Do not define XP_WIN if WebKit is compiled for Symbian.
1468
1469         No new tests as there is no new functionality.
1470
1471         * bridge/npapi.h:
1472
1473 2010-04-06  Chris Fleizach  <cfleizach@apple.com>
1474
1475         Reviewed by Beth Dakin.
1476
1477         aria-label doesn't work on image map area
1478         https://bugs.webkit.org/show_bug.cgi?id=36977
1479
1480         Test: platform/mac/accessibility/area-with-aria-label.html
1481
1482         * accessibility/AccessibilityImageMapLink.cpp:
1483         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
1484
1485 2010-04-06  James Robinson  <jamesr@chromium.org>
1486
1487         Reviewed by Simon Fraser.
1488
1489         Reverts the incorrect fixed position fastpath scrolling logic
1490         https://bugs.webkit.org/show_bug.cgi?id=33150
1491
1492         This code does not properly handle overflow or transforms on fixed
1493         position elements, causing repaint bugs on scroll.
1494
1495         No new tests.
1496
1497         * page/FrameView.cpp:
1498         (WebCore::FrameView::addFixedObject):
1499         (WebCore::FrameView::removeFixedObject):
1500         * page/FrameView.h:
1501         * platform/ScrollView.cpp:
1502         (WebCore::ScrollView::scrollContents):
1503         * platform/ScrollView.h:
1504         * rendering/RenderObject.cpp:
1505         (WebCore::RenderObject::styleWillChange):
1506
1507 2010-04-06  Kevin Ollivier  <kevino@theolliviers.com>
1508
1509         [wx] Build fix for wxMac / Cocoa on wx trunk.
1510         
1511         * platform/wx/wxcode/mac/carbon/fontprops.mm:
1512         (wxFontContainsCharacters):
1513
1514 2010-04-06  Simon Hausmann  <simon.hausmann@nokia.com>
1515
1516         Reviewed by Darin Adler.
1517
1518         JS code generator does not support feature conditional attributes that are writable
1519         https://bugs.webkit.org/show_bug.cgi?id=37149
1520
1521         Write out the feature #ifdef not only for the getter, but also for the setter
1522         function.
1523
1524         * bindings/scripts/CodeGeneratorJS.pm:
1525
1526 2010-04-06  Evan Stade  <estade@chromium.org>
1527
1528         Reviewed by Dimitri Glazkov.
1529
1530         [chromium] need DragImage implementation
1531         https://bugs.webkit.org/show_bug.cgi?id=35811
1532
1533         Use the DragImageRef that the DragController passes to us.
1534
1535         This was previously committed but rolled back for breaking layout
1536         tests. The fix is on the WebKit/chromium side.
1537
1538         * WebCore.gyp/WebCore.gyp:
1539         * WebCore.gypi:
1540         * platform/chromium/DragImageChromium.cpp: Removed.
1541         * platform/chromium/DragImageChromiumMac.cpp: Added.
1542         (WebCore::dragImageSize):
1543         (WebCore::deleteDragImage):
1544         (WebCore::scaleDragImage):
1545         (WebCore::dissolveDragImageToFraction):
1546         (WebCore::createDragImageFromImage):
1547         (WebCore::createDragImageIconForCachedImage):
1548         * platform/chromium/DragImageChromiumSkia.cpp: Added.
1549         (WebCore::dragImageSize):
1550         (WebCore::deleteDragImage):
1551         (WebCore::scaleDragImage):
1552         (WebCore::dissolveDragImageToFraction):
1553         (WebCore::createDragImageFromImage):
1554         (WebCore::createDragImageIconForCachedImage):
1555         * platform/chromium/DragImageRef.h:
1556
1557 2010-04-01  Yuzo Fujishima  <yuzo@google.com>
1558
1559         Reviewed by Darin Adler.
1560
1561         Fix bug: CSS3 :not selector with ID simple selector sequence test fails
1562         As per http://www.w3.org/TR/css3-selectors/#negation, :not(X) takes a simple selector as an argument.
1563         WebKit was accepting a simple selector *sequence*.
1564         This patch adds WebCore::CSSSelector::isSimple which judges if the selector is simple.
1565         The method is used in CSSGrammar.y to decide whether to accept the selector as the argument of :not().
1566         https://bugs.webkit.org/show_bug.cgi?id=36276
1567
1568         Test: fast/css/invalid-not-with-simple-selector-sequence.html
1569
1570         * css/CSSGrammar.y:
1571         * css/CSSSelector.cpp:
1572         (WebCore::CSSSelector::isSimple):
1573         * css/CSSSelector.h:
1574
1575 2010-04-06  Andy Estes  <aestes@apple.com>
1576
1577         Rubber-stamped by Dan Bernstein.
1578
1579         Remove non-ASCII characters from license headers to fix build errors on
1580         Japanese Windows.
1581
1582         https://bugs.webkit.org/show_bug.cgi?id=37008
1583
1584         * dom/UserGestureIndicator.cpp:
1585         * dom/UserGestureIndicator.h:
1586
1587 2010-04-06  Andrei Popescu  <andreip@google.com>
1588
1589         Reviewed by Dimitri Glazkov.
1590
1591         [V8][Android] PageCache crashes when JavaScript is disabled
1592         https://bugs.webkit.org/show_bug.cgi?id=37150
1593
1594         This patch ensures that saving and restoration of the script
1595         state only happens when JS is enabled and each frame has a
1596         non-null context.
1597
1598         No new tests: existing tests show the feature is working
1599         when JS is enabled. When JS is disabled, manual testing
1600         is required.
1601
1602         * bindings/v8/ScriptCachedFrameData.cpp:
1603         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1604         (WebCore::ScriptCachedFrameData::restore):
1605
1606 2010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
1607
1608         Unreviewed build fix.
1609
1610         Web Inspector: missed files were added.
1611
1612
1613         * GNUmakefile.am:
1614         * bindings/js/ScriptGCEvent.h: Added.
1615         (WebCore::ScriptGCEvent::addEventListener):
1616         (WebCore::ScriptGCEvent::removeEventListener):
1617         (WebCore::ScriptGCEvent::getHeapSize):
1618         * bindings/v8/ScriptGCEvent.cpp: Added.
1619         (WebCore::ScriptGCEvent::addEventListener):
1620         (WebCore::ScriptGCEvent::removeEventListener):
1621         (WebCore::ScriptGCEvent::getHeapSize):
1622         (WebCore::ScriptGCEvent::getUsedHeapSize):
1623         (WebCore::ScriptGCEvent::gcPrologueCallback):
1624         (WebCore::ScriptGCEvent::gcEpilogueCallback):
1625         * bindings/v8/ScriptGCEvent.h: Added.
1626         * inspector/ScriptGCEventListener.h: Added.
1627         (WebCore::ScriptGCEventListener::~ScriptGCEventListener):
1628
1629 2010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
1630
1631         Reviewed by Pavel Feldman.
1632
1633         Web Inspector: The JS code can be not optimal from memory usage point of view.
1634         As example it can generate a lot of temp objects and GC will spend significant time to collect these objects.
1635         GC event will show us these moments. Also each event can show us how much memory is in use.
1636         https://bugs.webkit.org/show_bug.cgi?id=37025
1637
1638         * WebCore.gypi:
1639         * WebCore.pro:
1640         * inspector/InspectorTimelineAgent.cpp:
1641         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1642         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
1643         (WebCore::InspectorTimelineAgent::didGC):
1644         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
1645         (WebCore::InspectorTimelineAgent::didInstallTimer):
1646         (WebCore::InspectorTimelineAgent::didRemoveTimer):
1647         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
1648         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
1649         (WebCore::InspectorTimelineAgent::didMarkTimeline):
1650         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
1651         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1652         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
1653         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
1654         * inspector/InspectorTimelineAgent.h:
1655         (WebCore::):
1656         (WebCore::InspectorTimelineAgent::instanceCount):
1657         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
1658         (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
1659         * inspector/TimelineRecordFactory.cpp:
1660         (WebCore::TimelineRecordFactory::createGCEventData):
1661         * inspector/TimelineRecordFactory.h:
1662         * inspector/front-end/Popover.js:
1663         (WebInspector.PopoverHelper.prototype._mouseHover):
1664         * inspector/front-end/TimelineAgent.js:
1665         * inspector/front-end/TimelinePanel.js:
1666         (WebInspector.TimelinePanel.prototype.get _recordStyles):
1667         (WebInspector.TimelinePanel.FormattedRecord):
1668         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1669         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1670
1671 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
1672
1673         Reviewed by Laszlo Gombos.
1674
1675         Remove unused DIRECTIONAL_PAD_NAVIGATION
1676         https://bugs.webkit.org/show_bug.cgi?id=37134
1677
1678         Android browser was planning to have a "directional pad navigation" available on
1679         trunk, guarded by a build flag named DIRECTIONAL_PAD_NAVIGATION, but according to
1680         https://bugs.webkit.org/show_bug.cgi?id=23145#c3 , the plan was dropped.
1681
1682         However bug 23163 landed some code relying on the build flag supposedly to be added,
1683         and is now dead code in trunk.
1684
1685         * dom/Element.cpp:
1686         (WebCore::Element::updateFocusAppearance):
1687
1688 2010-04-06  Mattias Nissler  <mnissler@chromium.org>
1689
1690         Reviewed by Pavel Feldman.
1691
1692         Rework inspector docking to issue a request call from the frontend
1693         whenever the user triggers to (un)dock the inspector window. Doing so
1694         enables InspectorFrontendHost implementations to asynchronously decide
1695         whether the window is docked or not. The old canAttachWindow() is not
1696         required anymore, remove it.
1697         https://bugs.webkit.org/show_bug.cgi?id=36944
1698
1699         * inspector/InspectorFrontendClient.h:
1700         * inspector/InspectorFrontendClientLocal.cpp:
1701         (WebCore::InspectorFrontendClientLocal::requestAttachWindow):
1702         * inspector/InspectorFrontendClientLocal.h:
1703         * inspector/InspectorFrontendHost.cpp:
1704         (WebCore::InspectorFrontendHost::requestAttachWindow):
1705         * inspector/InspectorFrontendHost.h:
1706         * inspector/InspectorFrontendHost.idl:
1707         * inspector/front-end/inspector.js:
1708         (WebInspector.toggleAttach):
1709
1710 2010-04-06  Vitaly Repeshko  <vitalyr@chromium.org>
1711
1712         Reviewed by Yury Semikhatsky.
1713
1714         [V8] Extend the set of types supported by SerializedScriptValue
1715         https://bugs.webkit.org/show_bug.cgi?id=37052
1716
1717         New types include sparse arrays, Uint32, Date, and ImageData.
1718
1719         Serialization process became more flexible. A state can either
1720         directly write primitive values (instead of returning them like
1721         iterator) or construct a new state for serializing complex values
1722         that will return to the current state when done.
1723
1724         Deserialization process now avoids exposing the tags using a set
1725         of factory functions for complex objects instead.
1726
1727         Internal buffer type changed to uint8_t to be independent of
1728         whether char is signed or not.
1729
1730         * bindings/v8/SerializedScriptValue.cpp:
1731         (WebCore::):
1732         (WebCore::Writer::Writer):
1733         (WebCore::Writer::writeString):
1734         (WebCore::Writer::writeUint32):
1735         (WebCore::Writer::writeDate):
1736         (WebCore::Writer::writeNumber):
1737         (WebCore::Writer::writeImageData):
1738         (WebCore::Writer::writeArray):
1739         (WebCore::Writer::writeObject):
1740         (WebCore::Writer::writeSparseArray):
1741         (WebCore::Writer::doWriteUint32):
1742         (WebCore::Writer::doWriteNumber):
1743         (WebCore::Writer::append):
1744         (WebCore::Writer::fillHole):
1745         (WebCore::Writer::byteAt):
1746         (WebCore::Serializer::Serializer):
1747         (WebCore::Serializer::serialize):
1748         (WebCore::Serializer::writeArray):
1749         (WebCore::Serializer::writeObject):
1750         (WebCore::Serializer::writeSparseArray):
1751         (WebCore::Serializer::StateBase::StateBase):
1752         (WebCore::Serializer::ErrorState::ErrorState):
1753         (WebCore::Serializer::ErrorState::advance):
1754         (WebCore::Serializer::State::composite):
1755         (WebCore::Serializer::State::State):
1756         (WebCore::Serializer::ArrayState::ArrayState):
1757         (WebCore::Serializer::ArrayState::advance):
1758         (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
1759         (WebCore::Serializer::AbstractObjectState::advance):
1760         (WebCore::Serializer::ObjectState::ObjectState):
1761         (WebCore::Serializer::ObjectState::objectDone):
1762         (WebCore::Serializer::SparseArrayState::SparseArrayState):
1763         (WebCore::Serializer::SparseArrayState::objectDone):
1764         (WebCore::Serializer::push):
1765         (WebCore::Serializer::pop):
1766         (WebCore::Serializer::handleError):
1767         (WebCore::Serializer::checkComposite):
1768         (WebCore::Serializer::writeString):
1769         (WebCore::Serializer::writeImageData):
1770         (WebCore::Serializer::newArrayState):
1771         (WebCore::Serializer::newObjectState):
1772         (WebCore::Serializer::doSerialize):
1773         (WebCore::Reader::Reader):
1774         (WebCore::Reader::read):
1775         (WebCore::Reader::readString):
1776         (WebCore::Reader::readUint32):
1777         (WebCore::Reader::readDate):
1778         (WebCore::Reader::readNumber):
1779         (WebCore::Reader::readImageData):
1780         (WebCore::Reader::doReadUint32):
1781         (WebCore::Reader::doReadNumber):
1782         (WebCore::Deserializer::Deserializer):
1783         (WebCore::Deserializer::createArray):
1784         (WebCore::Deserializer::createObject):
1785         (WebCore::Deserializer::createSparseArray):
1786         (WebCore::Deserializer::initializeObject):
1787         (WebCore::Deserializer::doDeserialize):
1788         (WebCore::Deserializer::stackDepth):
1789         (WebCore::SerializedScriptValue::deserialize):
1790
1791 2010-04-06  Csaba Osztrogon√°c  <ossy@webkit.org>
1792
1793         Unreviewed buildfix for --minimal build.
1794         Buildfix after r57134. Add ENABLE(WORKERS) guard.
1795
1796         original bug: https://bugs.webkit.org/show_bug.cgi?id=36375
1797
1798         * bindings/js/JSWorkerContextErrorHandler.cpp:
1799
1800 2010-04-06  Dirk Schulze  <krit@webkit.org>
1801
1802         Reviewed by Oliver Hunt.
1803
1804         SVG/SMIL parse failure on attribute keySplines
1805         https://bugs.webkit.org/show_bug.cgi?id=37071
1806
1807         Test: svg/animations/animate-keySplines.html
1808
1809         The String in 'keySplines' can have multiple spaces between numbers
1810         and delimiters. The parsing code is inspired by SVGParserUtilities
1811         and respects this.
1812
1813         * svg/SVGAnimationElement.cpp:
1814         (WebCore::parseKeySplines):
1815
1816 2010-04-06  Yury Semikhatsky  <yurys@chromium.org>
1817
1818         Reviewed by Pavel Feldman.
1819
1820         Refactored error reporting mechanizm on Worker Global Objects.
1821         Unlike other event listeners which accept single argument(Event)
1822         onerror handler on worker global object should be a function
1823         accepting three arguments. This error reporting was implementedas
1824         EventListener::reportError method which had custom implementations
1825         for v8 and JSC. This patch removes EventListener::reportError and
1826         moves its functionality into custom bindings(V8WorkerContextErrorHandler
1827         and JSWorkerContextErrorHandler) that implement EventListener inerface
1828         for the onerror handler.
1829
1830         This patch also makes uncaught exceptions that happen in the onerror
1831         listener be reported to the Worker's onerror handler.
1832
1833         https://bugs.webkit.org/show_bug.cgi?id=36375
1834
1835         * Android.jscbindings.mk:
1836         * GNUmakefile.am:
1837         * WebCore.gypi:
1838         * WebCore.pro:
1839         * WebCore.vcproj/WebCore.vcproj:
1840         * WebCore.xcodeproj/project.pbxproj:
1841         * bindings/js/JSBindingsAllInOne.cpp:
1842         * bindings/js/JSEventListener.cpp:
1843         * bindings/js/JSEventListener.h:
1844         * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
1845         (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
1846         (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
1847         (WebCore::JSWorkerContextErrorHandler::handleEvent):
1848         * bindings/js/JSWorkerContextErrorHandler.h: Added.
1849         (WebCore::JSWorkerContextErrorHandler::create):
1850         (WebCore::createJSWorkerContextErrorHandler):
1851         * bindings/scripts/CodeGeneratorJS.pm:
1852         * bindings/scripts/CodeGeneratorV8.pm:
1853         * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
1854         (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
1855         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
1856         * bindings/v8/V8WorkerContextErrorHandler.h: Added.
1857         (WebCore::V8WorkerContextErrorHandler::create):
1858         * bindings/v8/V8WorkerContextEventListener.cpp:
1859         * bindings/v8/V8WorkerContextEventListener.h:
1860         * dom/EventListener.h:
1861         * workers/WorkerContext.cpp:
1862         (WebCore::WorkerContext::WorkerContext):
1863         (WebCore::WorkerContext::reportException):
1864         * workers/WorkerContext.h:
1865
1866 2010-04-06  Pavel Feldman  <pfeldman@chromium.org>
1867
1868         Not reviewed: reverting v8 change at r57079 for crashing Chromium layout tests.
1869
1870 2010-04-05  MORITA Hajime  <morrita@google.com>
1871
1872         Reviewed by Darin Adler.
1873
1874         RenderProgress.cpp is missing CurrentTime.h
1875         https://bugs.webkit.org/show_bug.cgi?id=37080
1876
1877         No new tests. just fixed compilation error.
1878
1879         * rendering/RenderProgress.cpp:
1880
1881
1882 2010-04-05  Eric Uhrhane  <ericu@chromium.org>
1883
1884         Reviewed by Brady Eidson.
1885
1886         window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5
1887         https://bugs.webkit.org/show_bug.cgi?id=36671
1888
1889         The previous "fix" I mistakenly compared hashes, an improvement over comparing pointers, but still not right.
1890
1891         No new tests.
1892
1893         * storage/DatabaseTracker.cpp:
1894         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Use SecurityOrigin::equal to compare instead of SecurityOriginHash.
1895
1896 2010-04-05  Anthony Ricaud  <rik@webkit.org>
1897
1898         Reviewed by Timothy Hatcher.
1899
1900         Web Inspector: Audits launcher view is unusable with a small height window
1901         https://bugs.webkit.org/show_bug.cgi?id=37109
1902
1903         Use flex box instead of absolute positioning to avoid overlapping elements.
1904
1905         * inspector/front-end/AuditLauncherView.js:
1906         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
1907         * inspector/front-end/audits.css:
1908         (.audit-launcher-view .audit-launcher-view-content):
1909         (.audit-launcher-view div.button-container):
1910         (.audit-launcher-view .flexible-space):
1911
1912 2010-04-05  Luiz Agostini  <luiz.agostini@openbossa.org>
1913
1914         Reviewed by Kenneth Rohde Christiansen.
1915
1916         [Qt] Maemo5 theme - wrong spelling
1917         https://bugs.webkit.org/show_bug.cgi?id=37110
1918
1919         Correcting wrong spelling in RenderThemeQt.cpp.
1920
1921         * platform/qt/RenderThemeQt.cpp:
1922
1923 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
1924
1925         Reviewed by Kenneth Rohde Christiansen.
1926
1927         Add EFL-specific code to platform/Platform*Event.h.
1928         http://webkit.org/b/36309
1929
1930         * platform/PlatformWheelEvent.h:
1931         * platform/PlatformMouseEvent.h:
1932         * platform/PlatformKeyboardEvent.h:
1933
1934 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
1935
1936         Reviewed by Kenneth Rohde Christiansen.
1937
1938         Add EFL-specific code to platform/graphics/*.h.
1939         http://webkit.org/b/36308
1940
1941         * platform/graphics/Icon.h:
1942         * platform/graphics/IntRect.h:
1943         * platform/graphics/FloatRect.h:
1944         * platform/graphics/IntPoint.h:
1945
1946 2010-04-05  Robert Hogan  <robert@webkit.org>
1947
1948         Reviewed by Kenneth Rohde Christiansen.
1949
1950         [Qt] Fix infinite redirection loop in QNetworkReplyHandler
1951
1952         Put a maximum on consecutive redirections so we don't have to
1953         worry about whether it's the same url or not.
1954
1955         Tolerate up to 10 consecutive redirections, anything beyond
1956         that is considered a potentially infinite recursion in the
1957         redirection requests. This is the same behaviour as Firefox.
1958
1959         https://bugs.webkit.org/show_bug.cgi?id=37097
1960
1961         * platform/network/qt/QNetworkReplyHandler.cpp:
1962         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1963         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1964         * platform/network/qt/QNetworkReplyHandler.h:
1965
1966 2010-04-05  Dimitri Glazkov  <dglazkov@chromium.org> and James Robinson <jamesr@chromium.org>
1967
1968         Reviewed by Darin Adler and Dimitri Glazkov.
1969
1970         Style update done due to mutation event dispatching in textarea can be
1971         used to corrupt the render tree.
1972         https://bugs.webkit.org/show_bug.cgi?id=36864
1973
1974         Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
1975                fast/forms/select-change-popup-to-listbox-roundtrip.html
1976                fast/forms/textarea-and-mutation-events.html
1977
1978         * dom/Document.cpp:
1979         (WebCore::Document::finishedParsing): Added updateStyleIfNeeded()
1980             call to ensure that object loads start before firing window load.
1981         * dom/Node.cpp:
1982         (WebCore::Node::dispatchGenericEvent): Removed invocation of
1983             Document::updateStyleForAllDocuments
1984         * html/HTMLSelectElement.cpp:
1985         (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
1986             recalc to ensure accuracy of representation, especially for
1987             menuList/listBox switches.
1988
1989 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
1990
1991         Reviewed by Laszlo Gombos.
1992
1993         Cleaned up spatial-navigation-test-cases.html by removing the wrongly
1994         used <frameset> tag.
1995
1996         Patch also adds a manual-test specifically to test Spatial Navigation with framesets.
1997
1998         * manual-tests/spatial-navigation/frameset.html: Added.
1999         * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
2000
2001 2010-04-05  Mark Rowe  <mrowe@apple.com>
2002
2003         Reviewed by Adele Peterson.
2004
2005         Roll out r56989 as it introduced crashes in Mail.
2006         <http://webkit.org/b/37115> / <rdar://problem/7829331>
2007
2008         * dom/Position.cpp:
2009         (WebCore::Position::isCandidate):
2010         * dom/PositionIterator.cpp:
2011         (WebCore::PositionIterator::isCandidate):
2012
2013 2010-04-05  Darin Adler  <darin@apple.com>
2014
2015         Reviewed by Sam Weinig.
2016
2017         Images must re-load when an image-holding element moves into a new document
2018         https://bugs.webkit.org/show_bug.cgi?id=37127
2019
2020         Test: fast/images/move-image-to-new-document.html
2021
2022         * html/HTMLImageElement.cpp:
2023         (WebCore::HTMLImageElement::willMoveToNewOwnerDocument): Call ImageLoader's
2024         elementWillMoveToNewOwnerDocument function.
2025         * html/HTMLImageElement.h: Added willMoveToNewOwnerDocument.
2026         * html/HTMLInputElement.cpp:
2027         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Ditto.
2028         * html/HTMLPlugInImageElement.cpp:
2029         (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Ditto.
2030         * html/HTMLPlugInImageElement.h: Ditto.
2031         * html/HTMLVideoElement.cpp:
2032         (WebCore::HTMLVideoElement::willMoveToNewOwnerDocument): Ditto.
2033         * html/HTMLVideoElement.h: Ditto.
2034         * svg/SVGImageElement.cpp:
2035         (WebCore::SVGImageElement::willMoveToNewOwnerDocument): Ditto.
2036         * svg/SVGImageElement.h: Ditto.
2037
2038         * html/HTMLMediaElement.h: Made willMoveToNewOwnerDocument protected
2039         so it can be called by HTMLVideoElement.cpp.
2040
2041         * loader/ImageLoader.cpp:
2042         (WebCore::ImageLoader::elementWillMoveToNewOwnerDocument): Added.
2043         Resets the loader by clearing out the cached image.
2044         * loader/ImageLoader.h: Added it.
2045
2046 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2047
2048         Reviewed by Kenneth Rohde Christiansen.
2049
2050         [Symbian] Consolidate Symbian WINSCW environment configuration
2051         https://bugs.webkit.org/show_bug.cgi?id=37100
2052
2053         Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h
2054         to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore.
2055
2056         No new tests as there is no new functionality.
2057
2058         * config.h:
2059
2060 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
2061
2062         Reviewed by Kenneth Rohde Christiansen.
2063
2064         Add missing ClipboardEfl.h to platform/efl.
2065         http://webkit.org/b/36242
2066
2067         * platform/efl/ClipboardEfl.h: Added.
2068
2069 2010-04-05  Yuta Kitamura  <yutak@chromium.org>
2070
2071         Reviewed by Darin Adler.
2072
2073         Escape control characters in CSS string value when it is serialilzed.
2074
2075         When WebKit serializes a CSS string value that contains binary characters
2076         ('\0\1\2' for example), it did not escape these characters. As a result,
2077         users got (invisible) control characters through scripts. This change fixes
2078         this issue.
2079
2080         As a side effect, two separate codes for escaping CSS strings are merged, and
2081         become a public function (quoteCSSString).
2082
2083         CSS string value is not correctly serialized when it contains binary characters
2084         https://bugs.webkit.org/show_bug.cgi?id=28938
2085
2086         Test: fast/css/string-quote-binary.html
2087
2088         * css/CSSParser.cpp:
2089         (WebCore::isCSSTokenizerIdentifier):
2090         (WebCore::isCSSTokenizerURL):
2091         (WebCore::quoteCSSString):
2092         (WebCore::quoteCSSStringIfNeeded):
2093         (WebCore::quoteCSSURLIfNeeded):
2094         * css/CSSParser.h:
2095         * css/CSSPrimitiveValue.cpp:
2096         (WebCore::CSSPrimitiveValue::cssText):
2097         * css/FontFamilyValue.cpp:
2098         (WebCore::FontFamilyValue::cssText):
2099
2100 2010-04-05  John Gregg  <johnnyg@google.com>
2101
2102         Reviewed by Darin Adler.
2103
2104         Notifications should not resolve an empty icon parameter as a relative URL
2105         https://bugs.webkit.org/show_bug.cgi?id=36862
2106
2107         * notifications/Notification.cpp:
2108         (WebCore::Notification::Notification):
2109
2110 2010-04-05  Darin Adler  <darin@apple.com>
2111
2112         Reviewed by Mark Rowe.
2113
2114         Removed some unneeded type casts.
2115
2116         * css/CSSPrimitiveValue.cpp:
2117         (WebCore::CSSPrimitiveValue::cssText): Removed an unneeded cast.
2118         * page/Location.cpp:
2119         (WebCore::Location::host): Removed unneeded parentheses and cast.
2120         (WebCore::Location::port): Ditto.
2121         * platform/KURLGoogle.cpp:
2122         (WebCore::KURL::setPort): Ditto.
2123         * workers/WorkerLocation.cpp:
2124         (WebCore::WorkerLocation::host): Ditto.
2125         (WebCore::WorkerLocation::port): Ditto.
2126
2127 2010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2128
2129         Unreviewed, rolling out r57081.
2130         http://trac.webkit.org/changeset/57081
2131         https://bugs.webkit.org/show_bug.cgi?id=37121
2132
2133         We think it triggered two tests to fail on Tiger because of
2134         race conditions (Requested by abarth on #webkit).
2135
2136         * dom/Node.cpp:
2137         (WebCore::Node::dispatchGenericEvent):
2138         * html/HTMLSelectElement.cpp:
2139         (WebCore::HTMLSelectElement::parseMappedAttribute):
2140
2141 2010-04-05  Brady Eidson  <beidson@apple.com>
2142
2143         Reviewed by Oliver Hunt.
2144
2145         ASSERT close()ing the same StorageAreaImpl twice when using multiple PageGroups
2146         <rdar://problem/7828420> and https://bugs.webkit.org/show_bug.cgi?id=37120
2147
2148         No new tests. (No behavior change)
2149
2150         * storage/StorageNamespaceImpl.cpp:
2151         (WebCore::StorageNamespaceImpl::close): Change this invalid ASSERT to an early return.
2152
2153 2010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2154
2155         Unreviewed, rolling out r57030.
2156         http://trac.webkit.org/changeset/57030
2157         https://bugs.webkit.org/show_bug.cgi?id=37114
2158
2159         Regressed fast/repaint/line-flow-with-floats-9 pixel tests in
2160         chromium port (Requested by jamesr on #webkit).
2161
2162         * rendering/RenderBlock.h:
2163         * rendering/RenderBlockLineLayout.cpp:
2164         (WebCore::RenderBlock::layoutInlineChildren):
2165
2166 2010-04-05  Alexey Proskuryakov  <ap@apple.com>
2167
2168         Reviewed by Darin Adler.
2169
2170         https://bugs.webkit.org/show_bug.cgi?id=37111
2171         <rdar://problem/7790327> Draw replacement text when plug-in host crashes
2172
2173         * page/mac/WebCoreViewFactory.h:
2174         * platform/LocalizedStrings.h:
2175         * platform/mac/LocalizedStringsMac.mm:
2176         * platform/gtk/LocalizedStringsGtk.cpp:
2177         * platform/qt/Localizations.cpp:
2178         * platform/wx/LocalizedStringsWx.cpp:
2179         Added a localizable string for plug-in failure (only used on Mac at the moment).
2180
2181         * WebCore.xcodeproj/project.pbxproj: Made RenderEmbeddedObject.h (and dependencies) private,
2182         since it's now used from WebKit.
2183
2184         * rendering/RenderEmbeddedObject.cpp:
2185         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):m Removed m_showsMissingPluginIndicator
2186         initializer.
2187         (WebCore::RenderEmbeddedObject::updateWidget): Check m_replacementText instead of the removed
2188         m_showsMissingPluginIndicator.
2189         (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Load m_replacementText.
2190         (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator): Ditto.
2191         (WebCore::RenderEmbeddedObject::paint): Check m_replacementText instead of the removed
2192         m_showsMissingPluginIndicator.
2193         (WebCore::RenderEmbeddedObject::paintReplaced): Draw arbitrary text from m_replacementText
2194         insted of just "Missing Plug-in". Renamed constants and variables accordingly.
2195
2196         * rendering/RenderEmbeddedObject.h: Changed boolean for missing plug-in to a String holding
2197         actual replacement text.
2198
2199         * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Adapted for the change in
2200         setShowsMissingPluginIndicator(), which no longer takes an argument.
2201
2202         * WebCore/WebCore.base.exp: Exported RenderEmbeddedObject::setShowsCrashedPluginIndicator().
2203
2204 2010-04-05  Chris Fleizach  <cfleizach@apple.com>
2205
2206         Reviewed by Darin Adler.
2207
2208         Bug 37040 - AX: need to send selected children change notification when aria-selected changed
2209         https://bugs.webkit.org/show_bug.cgi?id=37040
2210
2211         When aria-selected is changed in the DOM, it will trigger a selected children change notification. 
2212
2213         Test: platform/mac/accessibility/aria-listbox-selectedchildren-change.html
2214
2215         * accessibility/AXObjectCache.cpp:
2216         (WebCore::AXObjectCache::selectedChildrenChanged):
2217         * accessibility/AXObjectCache.h:
2218         * accessibility/AccessibilityMediaControls.cpp:
2219         (WebCore::AccessibilityMediaControl::controlType):
2220             Remove extra whitespace before comment (webkit-style).
2221         * accessibility/AccessibilityRenderObject.cpp:
2222         (WebCore::AccessibilityRenderObject::observableObject):
2223             Allowed a listBox to be an observable object.
2224         (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
2225         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
2226             Updated and streamlined existing code.
2227         * dom/Element.cpp:
2228         (WebCore::Element::updateAfterAttributeChanged):
2229
2230 2010-04-05  Adam Treat  <atreat@rim.com>
2231
2232         Reviewed by Darin Adler.
2233
2234         Fix regression in pixel test for animated svg background images.
2235
2236         https://bugs.webkit.org/show_bug.cgi?id=37027
2237
2238         * svg/graphics/SVGImage.cpp:
2239         (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
2240
2241 2010-04-05  Robert Hogan  <robert@webkit.org>
2242
2243         Reviewed by Kenneth Rohde-Christiansen.
2244
2245         [Qt] Fix infinite redirection loop in QNetworkReplyHandler
2246
2247         Qt enters an infinite loop if a redirect response redirects to itself.
2248
2249         Fixes http/tests/xmlhttprequest/connection-error-sync.html
2250
2251         https://bugs.webkit.org/show_bug.cgi?id=37097
2252
2253         * platform/network/qt/QNetworkReplyHandler.cpp:
2254         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2255
2256 2010-04-05  Yury Semikhatsky  <yurys@chromium.org>
2257
2258         Unreviewed, revert r57078.
2259
2260         * Android.jscbindings.mk:
2261         * GNUmakefile.am:
2262         * WebCore.gypi:
2263         * WebCore.pro:
2264         * WebCore.vcproj/WebCore.vcproj:
2265         * WebCore.xcodeproj/project.pbxproj:
2266         * bindings/js/JSEventListener.cpp:
2267         (WebCore::JSEventListener::reportError):
2268         * bindings/js/JSEventListener.h:
2269         * bindings/js/JSWorkerContextErrorHandler.cpp: Removed.
2270         * bindings/js/JSWorkerContextErrorHandler.h: Removed.
2271         * bindings/scripts/CodeGeneratorJS.pm:
2272         * bindings/scripts/CodeGeneratorV8.pm:
2273         * bindings/v8/V8WorkerContextErrorHandler.cpp: Removed.
2274         * bindings/v8/V8WorkerContextErrorHandler.h: Removed.
2275         * bindings/v8/V8WorkerContextEventListener.cpp:
2276         (WebCore::V8WorkerContextEventListener::reportError):
2277         * bindings/v8/V8WorkerContextEventListener.h:
2278         * dom/EventListener.h:
2279         (WebCore::EventListener::reportError):
2280         * workers/WorkerContext.cpp:
2281         (WebCore::WorkerContext::WorkerContext):
2282         (WebCore::WorkerContext::reportException):
2283         * workers/WorkerContext.h:
2284
2285 2010-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
2286
2287         Reviewed by Darin Adler.
2288
2289         Style update done due to mutation event dispatching in textarea can be
2290         used to corrupt the render tree.
2291         https://bugs.webkit.org/show_bug.cgi?id=36864
2292
2293         Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
2294                fast/forms/select-change-popup-to-listbox-roundtrip.html
2295                fast/forms/textarea-and-mutation-events.html
2296
2297         * dom/Node.cpp:
2298         (WebCore::Node::dispatchGenericEvent): Removed invocation of
2299             Document::updateStyleForAllDocuments
2300         * html/HTMLSelectElement.cpp:
2301         (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
2302             recalc to ensure accuracy of representation, especially for
2303             menuList/listBox switches.
2304
2305 2010-04-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2306
2307         Reviewed by Dave Hyatt.
2308
2309         iframe flattening doesn't flatten
2310         https://bugs.webkit.org/show_bug.cgi?id=36798
2311
2312         Fixed to the iframe flattening code so that the iframes on
2313         http://www.samisite.com/test-csb2nf/id43.htm are actually
2314         flattened.
2315
2316         Covered by current tests.
2317
2318         * page/FrameView.cpp: Propagate contents changes of iframes
2319         and subframes in framesets to the parent so that it is relayouted
2320         (WebCore::FrameView::setContentsSize):
2321         (WebCore::FrameView::adjustViewSize):
2322         (WebCore::FrameView::scheduleRelayout):
2323         * rendering/RenderPart.cpp: HTMLIFrameElement do not inherit from
2324         HTMLFrameElement, but HTMLFrameElementBase, correct cast. Correct
2325         the use of inset border values. Avoid a sometimes unnecessary
2326         relayout.
2327         (WebCore::RenderPart::layoutWithFlattening):
2328         * rendering/RenderPartObject.cpp: Make the calcHeight and calcWidth
2329         return the right values, considering scrolling and fixed width/height
2330         (WebCore::RenderPartObject::flattenFrame):
2331         (WebCore::RenderPartObject::calcHeight):
2332         (WebCore::RenderPartObject::calcWidth):
2333         (WebCore::RenderPartObject::layout):
2334
2335 2010-04-05  Vitaly Repeshko  <vitalyr@chromium.org>
2336
2337         Reviewed by Yury Semikhatsky.
2338
2339         [V8] Extend the set of types supported by SerializedScriptValue
2340         https://bugs.webkit.org/show_bug.cgi?id=37052
2341
2342         New types include sparse arrays, Uint32, Date, and ImageData.
2343
2344         Serialization process became more flexible. A state can either
2345         directly write primitive values (instead of returning them like
2346         iterator) or construct a new state for serializing complex values
2347         that will return to the current state when done.
2348
2349         Deserialization process now avoids exposing the tags using a set
2350         of factory functions for complex objects instead.
2351
2352         Internal buffer type changed to uint8_t to be independent of
2353         whether char is signed or not.
2354
2355         * bindings/v8/SerializedScriptValue.cpp:
2356         (WebCore::):
2357         (WebCore::Writer::Writer):
2358         (WebCore::Writer::writeString):
2359         (WebCore::Writer::writeUint32):
2360         (WebCore::Writer::writeDate):
2361         (WebCore::Writer::writeNumber):
2362         (WebCore::Writer::writeImageData):
2363         (WebCore::Writer::writeArray):
2364         (WebCore::Writer::writeObject):
2365         (WebCore::Writer::writeSparseArray):
2366         (WebCore::Writer::doWriteUint32):
2367         (WebCore::Writer::doWriteNumber):
2368         (WebCore::Writer::append):
2369         (WebCore::Writer::fillHole):
2370         (WebCore::Writer::byteAt):
2371         (WebCore::Serializer::Serializer):
2372         (WebCore::Serializer::serialize):
2373         (WebCore::Serializer::writeArray):
2374         (WebCore::Serializer::writeObject):
2375         (WebCore::Serializer::writeSparseArray):
2376         (WebCore::Serializer::StateBase::StateBase):
2377         (WebCore::Serializer::ErrorState::ErrorState):
2378         (WebCore::Serializer::ErrorState::advance):
2379         (WebCore::Serializer::State::composite):
2380         (WebCore::Serializer::State::State):
2381         (WebCore::Serializer::ArrayState::ArrayState):
2382         (WebCore::Serializer::ArrayState::advance):
2383         (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
2384         (WebCore::Serializer::AbstractObjectState::advance):
2385         (WebCore::Serializer::ObjectState::ObjectState):
2386         (WebCore::Serializer::ObjectState::objectDone):
2387         (WebCore::Serializer::SparseArrayState::SparseArrayState):
2388         (WebCore::Serializer::SparseArrayState::objectDone):
2389         (WebCore::Serializer::push):
2390         (WebCore::Serializer::pop):
2391         (WebCore::Serializer::handleError):
2392         (WebCore::Serializer::checkComposite):
2393         (WebCore::Serializer::writeString):
2394         (WebCore::Serializer::writeImageData):
2395         (WebCore::Serializer::newArrayState):
2396         (WebCore::Serializer::newObjectState):
2397         (WebCore::Serializer::doSerialize):
2398         (WebCore::Reader::Reader):
2399         (WebCore::Reader::read):
2400         (WebCore::Reader::readString):
2401         (WebCore::Reader::readUint32):
2402         (WebCore::Reader::readDate):
2403         (WebCore::Reader::readNumber):
2404         (WebCore::Reader::readImageData):
2405         (WebCore::Reader::doReadUint32):
2406         (WebCore::Reader::doReadNumber):
2407         (WebCore::Deserializer::Deserializer):
2408         (WebCore::Deserializer::createArray):
2409         (WebCore::Deserializer::createObject):
2410         (WebCore::Deserializer::createSparseArray):
2411         (WebCore::Deserializer::initializeObject):
2412         (WebCore::Deserializer::doDeserialize):
2413         (WebCore::Deserializer::stackDepth):
2414         (WebCore::SerializedScriptValue::deserialize):
2415
2416 2010-04-05  Yury Semikhatsky  <yurys@chromium.org>
2417
2418         Reviewed by Pavel Feldman.
2419
2420         Refactored error reporting mechanizm on Worker Global Objects.
2421         Unlike other event listeners which accept single argument(Event)
2422         onerror handler on worker global object should be a function
2423         accepting three arguments. This error reporting was implementedas
2424         EventListener::reportError method which had custom implementations
2425         for v8 and JSC. This patch removes EventListener::reportError and
2426         moves its functionality into custom bindings(V8WorkerContextErrorHandler
2427         and JSWorkerContextErrorHandler) that implement EventListener inerface
2428         for the onerror handler.
2429
2430         This patch also makes uncaught exceptions that happen in the onerror
2431         listener be reported to the Worker's onerror handler.
2432
2433         https://bugs.webkit.org/show_bug.cgi?id=36375
2434
2435         * WebCore.gypi:
2436         * WebCore.pro:
2437         * WebCore.xcodeproj/project.pbxproj:
2438         * bindings/js/JSEventListener.cpp:
2439         * bindings/js/JSEventListener.h:
2440         * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
2441         (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
2442         (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
2443         (WebCore::JSWorkerContextErrorHandler::handleEvent):
2444         * bindings/js/JSWorkerContextErrorHandler.h: Added.
2445         (WebCore::JSWorkerContextErrorHandler::create):
2446         (WebCore::createJSWorkerContextErrorHandler):
2447         * bindings/scripts/CodeGeneratorJS.pm:
2448         * bindings/scripts/CodeGeneratorV8.pm:
2449         * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
2450         (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
2451         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
2452         * bindings/v8/V8WorkerContextErrorHandler.h: Added.
2453         (WebCore::V8WorkerContextErrorHandler::create):
2454         * bindings/v8/V8WorkerContextEventListener.cpp:
2455         * bindings/v8/V8WorkerContextEventListener.h:
2456         * dom/EventListener.h: Removed reportError method that was used only for reporting worker errors.
2457         * workers/WorkerContext.cpp:
2458         (WebCore::WorkerContext::WorkerContext):
2459         (WebCore::WorkerContext::reportException):
2460         * workers/WorkerContext.h:
2461
2462 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
2463
2464         Reviewed by Darin Adler.
2465
2466         Fix some  "explicit braces to avoid ambiguous 'else'" warnings
2467         https://bugs.webkit.org/show_bug.cgi?id=37088
2468
2469         * dom/Node.cpp:
2470         (WebCore::Node::dispatchGenericEvent):
2471         * page/DOMWindow.cpp:
2472         (WebCore::DOMWindow::dispatchEvent):
2473
2474 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2475
2476         Reviewed by Kenneth Rohde Christiansen.
2477
2478         Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC
2479
2480         Instead of defining and undefining it later, let's not
2481         define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW.
2482
2483         No new tests as there is no new functionality.
2484
2485         * config.h:
2486
2487 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2488
2489         Reviewed by Kenneth Rohde Christiansen.
2490
2491         [Qt] [Symbian] Remove obsolete build flags for Symbian
2492         https://bugs.webkit.org/show_bug.cgi?id=37083
2493
2494         Symbian port of QtWebKit port does not use icu, so it does 
2495         not need U_HAVE_* defines.
2496
2497         Symbian now has inttypes.h as part of OpenC.
2498
2499         stdio.h, limits.h and MathExtras.h are already included in
2500         more appropriate locations.
2501
2502         No new tests as there is no new functionality.
2503
2504         * config.h:
2505
2506 2010-04-05  Pavel Feldman  <pfeldman@chromium.org>
2507
2508         Not reviewed: chromium build fix.
2509
2510         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2511         (WebCore::V8InspectorFrontendHost::platformCallback):
2512         (WebCore::V8InspectorFrontendHost::portCallback):
2513
2514 2010-04-05  Pavel Feldman  <pfeldman@chromium.org>
2515
2516         Reviewed by Yury Semikhatsky.
2517
2518         Web Inspector: [REGRESSION] platform detection in Chromium
2519         has regressed to unknown.
2520
2521         https://bugs.webkit.org/show_bug.cgi?id=37081
2522
2523         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2524         (WebCore::JSInspectorFrontendHost::platform):
2525         (WebCore::JSInspectorFrontendHost::port):
2526         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2527         (WebCore::V8InspectorFrontendHost::platform):
2528         (WebCore::V8InspectorFrontendHost::port):
2529         * inspector/InspectorFrontendHost.cpp:
2530         * inspector/InspectorFrontendHost.h:
2531         * inspector/InspectorFrontendHost.idl:
2532
2533 2010-04-05  Andrey Kosyakov  <caseq@chromium.org>
2534
2535         Reviewed by Yury Semikhatsky.
2536
2537         Remove logging of successful XHR and worker's importScript()
2538         to inspector console
2539         https://bugs.webkit.org/show_bug.cgi?id=37078
2540
2541         * bindings/js/JSWorkerContextCustom.cpp:
2542         (WebCore::JSWorkerContext::importScripts):
2543         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2544         (WebCore::V8WorkerContext::importScriptsCallback):
2545         * workers/DedicatedWorkerContext.cpp:
2546         (WebCore::DedicatedWorkerContext::importScripts):
2547         * workers/DedicatedWorkerContext.h:
2548         * workers/WorkerContext.cpp:
2549         (WebCore::WorkerContext::importScripts):
2550         * workers/WorkerContext.h:
2551         * xml/XMLHttpRequest.cpp:
2552         (WebCore::XMLHttpRequest::didFinishLoading):
2553
2554 2010-04-04  Pavel Feldman  <pfeldman@chromium.org>
2555
2556         Not reviewed. Rolling out chromium changes r57028 and r57032
2557         for breaking chromium layout tests.
2558
2559         * WebCore.gyp/WebCore.gyp:
2560         * WebCore.gypi:
2561         * platform/chromium/DragImageChromium.cpp: Added.
2562         (WebCore::dragImageSize):
2563         (WebCore::deleteDragImage):
2564         (WebCore::scaleDragImage):
2565         (WebCore::dissolveDragImageToFraction):
2566         (WebCore::createDragImageFromImage):
2567         (WebCore::createDragImageIconForCachedImage):
2568         * platform/chromium/DragImageChromiumMac.cpp: Removed.
2569         * platform/chromium/DragImageChromiumSkia.cpp: Removed.
2570         * platform/chromium/DragImageRef.h:
2571
2572 2010-03-29  Antonio Gomes  <tonikitoo@webkit.org>
2573
2574         Reviewed by Simon Fraser.
2575         Patch by Antonio Gomes <tonikitoo@webkit.org>
2576
2577         Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp
2578
2579         WebCore::distanceInDirection method was handling much of the logic not
2580         strictly only related to the distance between nodes acquisition. This
2581         method was simplified and renamed to 'WebCore::distanceDataForNode'.
2582         The latter is now responsible for only getting the distance and alignment
2583         data, while all assignement logic previously in distanceInDirection method
2584         was moved place to updateFocusCandidateIfCloser.
2585
2586         Parent document distance and alignment acquisitions, in turn, have also
2587         changed location: they are both got from deepFindFocusableNodeInDirection,
2588         and passed in a recursive call to findFocusableNodeInDirection via the
2589         candidateParent variable (optional parameter). In addition, the need for
2590         the 'focusCandidateCopy' variable in deepFindFocusableNodeInDirection method
2591         was removed, making the code much cleaner.
2592
2593         No behaviour change at this point. Mostly moving code around to the place
2594         where it should live in.
2595
2596         * page/FocusController.cpp:
2597         (WebCore::FocusController::advanceFocusDirectionally):
2598         (WebCore::updateFocusCandidateIfCloser):
2599         (WebCore::FocusController::findFocusableNodeInDirection):
2600         (WebCore::FocusController::deepFindFocusableNodeInDirection):
2601         * page/FocusController.h:
2602         * page/SpatialNavigation.cpp:
2603         (WebCore::distanceDataForNode):
2604         (WebCore::renderRectRelativeToRootDocument):
2605         * page/SpatialNavigation.h:
2606
2607 2010-04-04  Pavel Feldman  <pfeldman@chromium.org>
2608
2609         Reviewed by Timothy Hatcher.
2610
2611         Web Inspector: In the inherited styles, do not render non-inherited properties as overriden.
2612
2613         https://bugs.webkit.org/show_bug.cgi?id=37072
2614
2615         * inspector/front-end/StylesSidebarPane.js:
2616         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
2617
2618 2010-04-03  yael aharon  <yael.aharon@nokia.com>
2619
2620         Reviewed by Darin Adler.
2621
2622         Enable HTMLProgressElement for Safari on OSX
2623         https://bugs.webkit.org/show_bug.cgi?id=36961
2624
2625         * Configurations/FeatureDefines.xcconfig:
2626         * WebCore.xcodeproj/project.pbxproj:
2627         * rendering/RenderThemeMac.h:
2628         * rendering/RenderThemeMac.mm:
2629         (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
2630         (WebCore::RenderThemeMac::animationDurationForProgressBar):
2631         (WebCore::RenderThemeMac::adjustProgressBarStyle):
2632         (WebCore::RenderThemeMac::paintProgressBar):
2633
2634 2010-04-03  Jakub Wieczorek  <jwieczorek@webkit.org>
2635
2636         Unreviewed.
2637
2638         Fix debug build with GCC >= 4.3.
2639
2640         * platform/graphics/GraphicsLayer.cpp: Include stdio.h explicitly.
2641
2642 2010-04-03  Kenneth Russell  <kbr@google.com>
2643
2644         Reviewed by Darin Fisher.
2645
2646         Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation
2647         https://bugs.webkit.org/show_bug.cgi?id=36574
2648
2649         Fixed bugs in JavaScript bindings for uniform[Matrix]* entry
2650         points causing them to throw exceptions rather than synthesize GL
2651         errors. Fixed the implementations to synthesize INVALID_VALUE
2652         rather than INVALID_OPERATION to comply to the WebGL spec. Updated
2653         uniform-location-expected.txt to incorporate the correct error.
2654         Tested in Safari and Chromium.
2655
2656         Test: fast/canvas/webgl/null-uniform-location.html
2657
2658         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2659         (WebCore::V8WebGLRenderingContext::getUniformCallback):
2660         (WebCore::vertexAttribAndUniformHelperf):
2661         (WebCore::uniformHelperi):
2662         (WebCore::uniformMatrixHelper):
2663         * html/canvas/WebGLRenderingContext.cpp:
2664         (WebCore::WebGLRenderingContext::uniform1f):
2665         (WebCore::WebGLRenderingContext::uniform1fv):
2666         (WebCore::WebGLRenderingContext::uniform1i):
2667         (WebCore::WebGLRenderingContext::uniform1iv):
2668         (WebCore::WebGLRenderingContext::uniform2f):
2669         (WebCore::WebGLRenderingContext::uniform2fv):
2670         (WebCore::WebGLRenderingContext::uniform2i):
2671         (WebCore::WebGLRenderingContext::uniform2iv):
2672         (WebCore::WebGLRenderingContext::uniform3f):
2673         (WebCore::WebGLRenderingContext::uniform3fv):
2674         (WebCore::WebGLRenderingContext::uniform3i):
2675         (WebCore::WebGLRenderingContext::uniform3iv):
2676         (WebCore::WebGLRenderingContext::uniform4f):
2677         (WebCore::WebGLRenderingContext::uniform4fv):
2678         (WebCore::WebGLRenderingContext::uniform4i):
2679         (WebCore::WebGLRenderingContext::uniform4iv):
2680         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2681         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2682         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2683
2684 2010-04-02  Andy Estes  <aestes@apple.com>
2685
2686         Reviewed by Adam Barth.
2687
2688         The previous mechanism for testing whether an event was due to a user
2689         gesture only checked the event type, not the source of the event.  This
2690         allowed scripts to defeat popup blocking by programatically emitting
2691         certain types of events.
2692
2693         Change the user gesture detection to check for a flag that is only set
2694         when the event in question was generated through the platform and not
2695         through the DOM.
2696
2697         https://bugs.webkit.org/show_bug.cgi?id=37008
2698
2699         Tests: fast/events/popup-allowed-from-gesture-initiated-event.html
2700                fast/events/popup-blocked-from-fake-button-click.html
2701                fast/events/popup-blocked-from-fake-focus.html
2702
2703         * Android.mk: Add UserGestureIndicator.{cpp, h}.
2704         * GNUmakefile.am: Same.
2705         * WebCore.gypi: Same.
2706         * WebCore.pro: Same.
2707         * WebCore.vcproj/WebCore.vcproj: Same.
2708         * WebCore.xcodeproj/project.pbxproj: Same.
2709         * bindings/v8/ScriptController.cpp:
2710         (WebCore::ScriptController::processingUserGesture): Check the value of
2711         UserGesureIndicator::processingUserGesture().
2712         * dom/Document.cpp:
2713         (WebCore::Document::createEvent): Remove call to
2714         Event::setCreatedByDOM().
2715         * dom/Event.cpp:
2716         (WebCore::Event::Event): Remove initializers for m_createdByDOM.
2717         (WebCore::Event::fromUserGesture): Check the value of
2718         UserGestureIndicator::processingUserGesture().
2719         * dom/Event.h: Remove m_createdByDOM.
2720         * dom/UserGestureIndicator.cpp: Added.
2721         (WebCore::UserGestureIndicator::UserGestureIndicator): Save the previous
2722         value of s_processingUserGesture before setting it to true.
2723         (WebCore::UserGestureIndicator::~UserGestureIndicator): Restore
2724         s_processingUserGesture to its previous value.
2725         * dom/UserGestureIndicator.h: Added.
2726         (WebCore::UserGestureIndicator::processingUserGesture): Return the value
2727         of s_processingUserGesture.
2728         * page/EventHandler.cpp:
2729         (WebCore::EventHandler::handleMousePressEvent): Instantiate a
2730         UserGestureIndicator object on the stack to indicate a user gesture is
2731         being processed.
2732         (WebCore::EventHandler::handleMouseDoubleClickEvent): Same.
2733         (WebCore::EventHandler::handleMouseReleaseEvent): Same.
2734         (WebCore::EventHandler::keyEvent): Same.
2735         (WebCore::EventHandler::handleTouchEvent): Same.
2736
2737 2010-04-02  Justin Schuh  <jschuh@chromium.org>
2738
2739         Reviewed by Alexey Proskuryakov.
2740
2741         XHR allows arbitrary XSRF across domains 
2742         https://bugs.webkit.org/show_bug.cgi?id=36843
2743
2744         Added a one-line change to prevent bypassing the XDC check on
2745         synchronous preflighted requests. Added layout tests to cover
2746         variations of this problem.
2747
2748         Tests: http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html
2749                http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html
2750                http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html
2751                http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html
2752
2753         * loader/DocumentThreadableLoader.cpp:
2754         (WebCore::DocumentThreadableLoader::preflightFailure):
2755
2756 2010-04-02  Nayan Kumar K  <nayankk@gmail.com>
2757
2758         Reviewed by Eric Seidel.
2759
2760         Fix for WML enabled build failure.
2761
2762         https://bugs.webkit.org/show_bug.cgi?id=36648
2763
2764         * wml/WMLOptionElement.cpp:
2765         (WebCore::WMLOptionElement::disabled):
2766         * wml/WMLOptionElement.h:
2767         * wml/WMLSelectElement.cpp:
2768         (WebCore::WMLSelectElement::listBoxSelectItem):
2769         * wml/WMLSelectElement.h:
2770
2771 2010-04-02  MORITA Hajime  <morrita@google.com>
2772
2773         Reviewed by Alexey Proskuryakov.
2774
2775         https://bugs.webkit.org/show_bug.cgi?id=37011
2776         Position::primaryDirection() should not use its own accessor.
2777
2778         No new tests. This is small clenaup with no behaviour change.
2779
2780         * dom/Position.cpp:
2781         (WebCore::Position::primaryDirection):
2782
2783 2010-04-02  Eric Uhrhane  <ericu@chromium.org>
2784
2785         Reviewed by Brady Eidson.
2786
2787         window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5.  This is caused by a SecurityOrigin pointer comparison that I should have switched to be a hash comparison in r56293 [bug 34991].
2788         https://bugs.webkit.org/show_bug.cgi?id=36671
2789
2790         No new tests.  Requires testing on Safari on Windows.
2791
2792         * storage/DatabaseTracker.cpp:
2793         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Convert a pointer comparison to use SecurityOriginHash::hash() instead, and move it to the end of the clause for speed in the easy-out case.
2794
2795 2010-04-02  Michael Nordman  <michaeln@google.com>
2796
2797         Reviewed by Nate Chapin.
2798
2799         Set the close policy used by the DatabaseCloseTask in a constructor argument
2800         instead of hard coding it.
2801         https://bugs.webkit.org/show_bug.cgi?id=37037
2802
2803         No new tests, new new functionality.
2804
2805         * storage/Database.cpp: This callsite passes in DoNotRemoveFromDatabaseContext to retain its current behavior.
2806         (WebCore::Database::markAsDeletedAndClose):
2807         * storage/DatabaseTask.cpp:
2808         (WebCore::DatabaseCloseTask::DatabaseCloseTask):
2809         (WebCore::DatabaseCloseTask::doPerformTask):
2810         * storage/DatabaseTask.h:
2811         (WebCore::DatabaseCloseTask::create):
2812
2813 2010-04-02  James Robinson  <jamesr@chromium.org>
2814
2815         Reviewed by Simon Fraser.
2816
2817         Remove an ASSERT that sometimes flakes due to time dependent animations
2818         https://bugs.webkit.org/show_bug.cgi?id=37048
2819
2820         The outline repaint rectangle for a layer might change between two calls
2821         if there are animations involved, even if nothing in the DOM has actually
2822         changed between the calls.
2823
2824         No change in behavior, no new tests.
2825
2826         * rendering/RenderLayer.cpp:
2827         (WebCore::RenderLayer::updateLayerPositions):
2828
2829 2010-04-02  Evan Stade  <estade@chromium.org>
2830
2831         Reviewed by Adam Barth.
2832
2833         [chromium] need DragImage implementation
2834         https://bugs.webkit.org/show_bug.cgi?id=35811
2835
2836         Add two files that failed to get added in my previous patch.
2837
2838         * platform/chromium/DragImageChromiumMac.cpp: Added.
2839         (WebCore::dragImageSize):
2840         (WebCore::deleteDragImage):
2841         (WebCore::scaleDragImage):
2842         (WebCore::dissolveDragImageToFraction):
2843         (WebCore::createDragImageFromImage):
2844         (WebCore::createDragImageIconForCachedImage):
2845         * platform/chromium/DragImageChromiumSkia.cpp: Added.
2846         (WebCore::dragImageSize):
2847         (WebCore::deleteDragImage):
2848         (WebCore::scaleDragImage):
2849         (WebCore::dissolveDragImageToFraction):
2850         (WebCore::createDragImageFromImage):
2851         (WebCore::createDragImageIconForCachedImage):
2852
2853 2010-04-02  Jer Noble  <jer.noble@apple.com>
2854
2855         Reviewed by Eric Carlson.
2856
2857         Configure multi-language movies: when QuickTime has sufficiently loaded
2858         the movie, call into wkQTMovieSelectPreferredAlternates to select the
2859         movie's alternate tracks according to the user's language preferences.
2860
2861         https://bugs.webkit.org/show_bug.cgi?id=36624
2862
2863         * WebCore.base.exp:
2864         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
2865         (WebCore::MediaPlayerPrivate::updateStates): If the movie is sufficiently loaded,
2866         call wkQTMovieSelectPreferredAlternates to set up the alternate tracks.
2867         * platform/mac/WebCoreSystemInterface.h: Declare WKQTMovieSelectPreferredAlternates.
2868         * platform/mac/WebCoreSystemInterface.mm: Add WKQTMovieSelectPreferredAlternates.
2869
2870 2010-04-02  James Robinson  <jamesr@chromium.org>
2871
2872         Reviewed by Darin Adler.
2873
2874         Splits RenderBlock::layoutInline into smaller functions
2875         https://bugs.webkit.org/show_bug.cgi?id=36921
2876
2877         RenderBlock::layoutInlineChildren is 351 lines long and very difficult
2878         to comprehend or edit safely. This patch splits it up into a few
2879         slightly smaller functions.  Most of the code is now in the 241 line
2880         layoutRunsAndFloats() which is a slight improvement.
2881
2882         Perf neutral on the page cyclers.  This doesn't introduce any function
2883         calls into the hottest layout paths inside layoutRunsAndFloats and
2884         findNextLineBreak.
2885
2886         No change in behavior, no new tests.
2887
2888         * rendering/RenderBlock.h:
2889         (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
2890         * rendering/RenderBlockLineLayout.cpp:
2891         (WebCore::RenderBlock::layoutReplacedElements):
2892         (WebCore::RenderBlock::createLineBoxesForResolver):
2893         (WebCore::RenderBlock::layoutRunsAndFloats):
2894         (WebCore::RenderBlock::layoutInlineChildren):
2895
2896 2010-04-02  Evan Stade  <estade@chromium.org>
2897
2898         Reviewed by Eric Seidel.
2899
2900         [chromium] need DragImage implementation
2901         https://bugs.webkit.org/show_bug.cgi?id=35811
2902
2903         Basic implementation using SkBitmap. Transformations are not supported
2904         yet. No implementation for mac.
2905
2906         * WebCore.gyp/WebCore.gyp:
2907         * WebCore.gypi:
2908         * platform/chromium/DragImageChromium.cpp:
2909         * platform/chromium/DragImageRef.h:
2910
2911 2010-04-02  Evan Martin  <evan@chromium.org>
2912
2913         Reviewed by Eric Seidel.
2914
2915         [chromium] font fallback for generic fonts picks wrong font
2916         https://bugs.webkit.org/show_bug.cgi?id=37033
2917
2918         When a page specifies the generic "monospace" font and the user's
2919         browser-configured monospace font doesn't exist, we previously relied
2920         on getLastResortFallbackFont to eventually pick a monospace font for us.
2921
2922         But that doesn't quite work: WebKit first falls back to the user's
2923         "preferred standard font" before hitting the last resort code path.
2924         So if the above conditions hold but this font exists, we'll end up
2925         never hitting the last resort codepath.
2926
2927         The fix is to allow OS-level font fallback when first attempting to
2928         resolve monospace.  The existing code tried to do this, but the logic
2929         was wrong.  We would eventually fall back to the correct font anyway
2930         so we didn't notice the logic was wrong.
2931
2932         This code is all handling cases where particular fonts aren't installed,
2933         so I can't think of a way to test it; existing tests should still pass.
2934
2935         * platform/graphics/chromium/FontCacheLinux.cpp:
2936         (WebCore::FontCache::createFontPlatformData):
2937
2938 2010-04-02  Andrew Scherkus  <scherkus@chromium.org>
2939
2940         Reviewed by Eric Carlson and Eric Seidel.
2941
2942         Don't stop the playback event timer when media resource loading has suspended.
2943         https://bugs.webkit.org/show_bug.cgi?id=37003
2944
2945         When a user agent decides to suspend media resource loading and enters the
2946         NETWORK_IDLE state we are supposed to only stop the progress event timer but
2947         keep the playback timer running.
2948
2949         Test: http/tests/media/video-play-suspend.html
2950
2951         * html/HTMLMediaElement.cpp:
2952         (WebCore::HTMLMediaElement::setNetworkState): Only stop the progress event timer.
2953
2954 2010-04-02  Darin Adler  <darin@apple.com>
2955
2956         Fix mispelling that broke the build.
2957
2958         * html/canvas/CanvasRenderingContext2D.cpp:
2959         * html/canvas/CanvasRenderingContext2D.h:
2960         Dashbard -> Dashboard.
2961
2962 2010-04-02  David Levin  <levin@chromium.org>
2963
2964         Reviewed by Darin Adler.
2965
2966         (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface.
2967         https://bugs.webkit.org/show_bug.cgi?id=36906
2968
2969         * dom/CanvasSurface.cpp: Added methods for items that depended on
2970         CanvasRenderingContext::canvas() being an HTMLElement(), so that this usage
2971         can be dealt with in one place.
2972         (WebCore::CanvasSurface::securityOrigin): Only used by methods that are
2973         only run in the document context.
2974         (WebCore::CanvasSurface::renderBox): Will likely return 0 in a worker context.
2975         (WebCore::CanvasSurface::computedStyle): Used by setFont. Return value is TBD for
2976         the worker context.
2977         (WebCore::CanvasSurface::styleSelector): Ditto.
2978         * dom/CanvasSurface.h:
2979         * html/HTMLCanvasElement.cpp:
2980         (WebCore::HTMLCanvasElement::getContext): Passing in information into
2981         the CanvasRenderingContext2D constructor to eliminate some uses of document
2982         inside of the CanvasRenderingContext2D class.
2983         * html/HTMLCanvasElement.h:
2984         (WebCore::HTMLCanvasElement::renderBox): Added to disambiguate between the
2985         two parent class versions of the method.
2986         (WebCore::HTMLCanvasElement::computedStyle): Ditto.
2987         * html/canvas/CanvasRenderingContext2D.cpp: All of these changes are about
2988         removing document usage either by using a bool that is set in the constructor or
2989         by calling one of the new methods added to CanvasSurface.
2990         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2991         (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
2992         (WebCore::CanvasRenderingContext2D::checkOrigin):
2993         (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
2994         (WebCore::CanvasRenderingContext2D::createPattern):
2995         (WebCore::CanvasRenderingContext2D::setFont):
2996         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2997         * html/canvas/CanvasRenderingContext2D.h:
2998         * html/canvas/WebGLRenderingContext.cpp: Removed some duplicate includes.
2999         (WebCore::WebGLRenderingContext::markContextChanged): Reduced calls to renderBox
3000          as it may become slightly more expensive in the future.
3001         (WebCore::WebGLRenderingContext::reshape): Ditto.
3002
3003 2010-04-02  Zhenyao Mo  <zmo@google.com>
3004
3005         Reviewed by Eric Seidel.
3006
3007         Implement and test new framebuffer object attachment behavior.
3008         https://bugs.webkit.org/show_bug.cgi?id=35611
3009
3010         Test: fast/canvas/webgl/framebuffer-object-attachment.html
3011
3012         * html/canvas/WebGLFramebuffer.cpp: Keep track of attached stencil/depth renderbuffers in WebGLFramebuffer.
3013         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
3014         (WebCore::WebGLFramebuffer::setIsAttached):
3015         * html/canvas/WebGLFramebuffer.h: Ditto.
3016         (WebCore::WebGLFramebuffer::isDepthAttached):
3017         (WebCore::WebGLFramebuffer::isStencilAttached):
3018         (WebCore::WebGLFramebuffer::isDepthStencilAttached):
3019         * html/canvas/WebGLRenderbuffer.cpp: Keep track of internalformat.
3020         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
3021         * html/canvas/WebGLRenderbuffer.h: Ditto.
3022         (WebCore::WebGLRenderbuffer::setInternalformat):
3023         (WebCore::WebGLRenderbuffer::getInternalformat):
3024         * html/canvas/WebGLRenderingContext.cpp:
3025         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Detect stencil/depth buffer conflicts.
3026         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Handling DEPTH_STENCIL case.
3027         (WebCore::WebGLRenderingContext::getRenderbufferParameter): Get correct WebGL internalformat.
3028         (WebCore::WebGLRenderingContext::renderbufferStorage): Detect illegal enums.
3029         * html/canvas/WebGLRenderingContext.idl: Add DEPTH_STENCIL enums.
3030         * platform/graphics/GraphicsContext3D.h: Add DEPTH_STENCIL enums.
3031         (WebCore::GraphicsContext3D::):
3032         * platform/graphics/mac/GraphicsContext3DMac.cpp: Map to correct DEPTH_STENCIL format.
3033         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
3034         (WebCore::GraphicsContext3D::renderbufferStorage):
3035         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
3036
3037 2010-04-02  Kent Tamura  <tkent@chromium.org>
3038
3039         Reviewed by Darin Adler.
3040
3041         Form control state shouldn't be restored for hidden inputs.
3042         https://bugs.webkit.org/show_bug.cgi?id=26241
3043
3044         To fix this issue, we don't save values if it is not changed from
3045         the default value.
3046
3047         Updating the value IDL attribute of some controls such as
3048         type=hidden also updates the value content attribute, and it's
3049         impossible to distinguish the initial value and the current
3050         value. The values of such controls are not saved. It won't be a
3051         problem because we want to save and restore user-edited values.
3052
3053         Test: fast/forms/state-restore-to-non-edited-controls.html
3054
3055         * html/HTMLInputElement.cpp:
3056         (WebCore::HTMLInputElement::saveFormControlState):
3057           Do not save the value if it is same as the default value.
3058         * html/HTMLTextAreaElement.cpp:
3059         (WebCore::HTMLTextAreaElement::saveFormControlState): ditto.
3060
3061 2010-04-02  Kent Tamura  <tkent@chromium.org>
3062
3063         Reviewed by Darin Adler.
3064
3065         Forms with autocomplete=off should not consume saved state
3066         https://bugs.webkit.org/show_bug.cgi?id=36762
3067         
3068         Introduce Element::shouldSaveAndRestoreFormControlState() to check
3069         if we should save and restore control state.
3070
3071         Test: fast/forms/state-restore-to-non-autocomplete-form.html
3072
3073         * dom/Document.cpp:
3074         (WebCore::Document::formElementsState): Check shouldSaveAndRestoreFormControlState().
3075         * dom/Element.h:
3076         (WebCore::Element::shouldSaveAndRestoreFormControlState): Added. It just returns true.
3077         * html/HTMLFormControlElement.cpp:
3078         (WebCore::HTMLFormControlElementWithState::autoComplete):
3079           Added. It return autocomplete state of the form.
3080         (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
3081           Added. It returns the result of autoComplete().
3082         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
3083           Do not restore state if shouldSaveAndRestoreFormControlState() is false.
3084         * html/HTMLFormControlElement.h: Declare autoComplete() and overriding methods.
3085         * html/HTMLInputElement.cpp:
3086         (WebCore::HTMLInputElement::autoComplete):
3087           Reduce code by using autoComplete() of the parent class.
3088         (WebCore::HTMLInputElement::saveFormControlState):
3089           Remove the autoComplete() check. Document::formElementsState() does equivalent check.
3090
3091 2010-04-02  Simon Fraser  <simon.fraser@apple.com>
3092
3093         Reviewed by Darin Adler.
3094
3095         Very bad scrolling-performance with the Trackpad at http://www.apple.com/ipad/app-store/
3096         https://bugs.webkit.org/show_bug.cgi?id=36978
3097
3098         When we update compositing layers (which can happen on scrolling, when there are fixed position elements
3099         on the page), we can end up redundantly setting images as layer contents if we have to color-correct
3100         the image. This is because we call CGImageCreateCopyWithColorSpace(), which hands back a new image
3101         every time.
3102         
3103         Avoid this by storing a reference to the original uncorrected image, which is used to then
3104         avoid work if the image does not change.
3105
3106         * platform/graphics/mac/GraphicsLayerCA.h:
3107         * platform/graphics/mac/GraphicsLayerCA.mm:
3108         (WebCore::GraphicsLayerCA::setContentsToImage):
3109
3110 2010-04-02  Simon Fraser  <simon.fraser@apple.com>
3111
3112         Reviewed by Darin Adler.
3113
3114         Avoid doing work in FrameView::scrollPositionChanged() if there are no fixed position elements
3115         https://bugs.webkit.org/show_bug.cgi?id=36994
3116         
3117         r55890 added knowledge to FrameView about whether it contains any fixed-position elements. We can
3118         use this to avoid updating widget positions, and compositing layer positions when possible.
3119
3120         * page/FrameView.cpp:
3121         (WebCore::FrameView::scrollPositionChanged):
3122         * page/FrameView.h:
3123         (WebCore::FrameView::hasFixedObjects):
3124
3125 2010-04-02  Nate Chapin  <japhet@chromium.org>
3126
3127         Rubber-stamped by Dimitri Glazkov.
3128
3129         http://trac.webkit.org/changeset/57004 caused
3130         fast/dom/console-log-stack-overflow.html to fail for Chromium.
3131         Add check for empty wrappers before using them to create a hidden reference.
3132
3133         * bindings/scripts/CodeGeneratorV8.pm:
3134
3135 2010-04-01  Nate Chapin  <japhet@chromium.org>
3136
3137         Reviewed by Dimitri Glazkov.
3138
3139         [V8] Generalize (and generate!) the creation of hidden references
3140         between JS wrappers.
3141         
3142         https://bugs.webkit.org/show_bug.cgi?id=36777
3143
3144         * Android.v8bindings.mk:
3145         * WebCore.gypi:
3146         * bindings/scripts/CodeGeneratorV8.pm: Generate calls to setHiddenReference() in
3147         attribute getters.
3148         * bindings/v8/V8DOMWrapper.cpp:
3149         (WebCore::V8DOMWrapper::setHiddenReference): Split common logic out of hidden setHiddenWindowReference
3150         (WebCore::V8DOMWrapper::setHiddenWindowReference): Now contains logic specific to putting a 
3151         hidden reference on a global object.
3152         (WebCore::globalObjectPrototypeIsDOMWindow): Be more thorough in the COMPILE_ASSERTs.
3153         (WebCore::V8DOMWrapper::convertEventTargetToV8Object): Cleanup: Remove a duplicate if statement.
3154         * bindings/v8/V8DOMWrapper.h:
3155         * bindings/v8/WrapperTypeInfo.h:
3156         * bindings/v8/custom/V8BarInfoCustom.cpp: Removed.
3157         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
3158         (WebCore::toV8):
3159         * bindings/v8/custom/V8DOMSelectionCustom.cpp: Removed.
3160         * bindings/v8/custom/V8HistoryCustom.cpp:
3161         * bindings/v8/custom/V8LocationCustom.cpp:
3162         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
3163         (WebCore::V8MessageChannel::constructorCallback):
3164         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3165         (WebCore::toV8):
3166         * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
3167         * bindings/v8/custom/V8ScreenCustom.cpp: Removed.
3168         * bindings/v8/custom/V8StyleSheetCustom.cpp:
3169         (WebCore::toV8):
3170         * loader/appcache/DOMApplicationCache.h:
3171         (WebCore::DOMApplicationCache::frame): Add frame() accessor.
3172
3173
3174 2010-04-01  Pavel Feldman  <pfeldman@chromium.org>
3175
3176         Reviewed by Timothy Hatcher.
3177
3178         Web Inspector: start editing DOM and styles on click-and-pause.
3179
3180         https://bugs.webkit.org/show_bug.cgi?id=36965
3181
3182         * inspector/front-end/ElementsTreeOutline.js:
3183         (WebInspector.ElementsTreeElement.prototype.onattach):
3184         (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
3185         (WebInspector.ElementsTreeElement.prototype.ondblclick):
3186         (WebInspector.ElementsTreeElement.prototype._handleClickAndPause):
3187         (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
3188         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
3189         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
3190         (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
3191         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
3192         * inspector/front-end/StylesSidebarPane.js:
3193         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
3194         (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
3195         (WebInspector.StylePropertiesSection.prototype._handleSelectorClickAndPause):
3196         (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
3197         (WebInspector.StylePropertiesSection.prototype._startEditingOnMouseEvent):
3198         (WebInspector.StylePropertyTreeElement.prototype.onattach):
3199         (WebInspector.StylePropertyTreeElement.prototype):
3200         * inspector/front-end/inspector.css:
3201         * inspector/front-end/inspector.js:
3202         * inspector/front-end/treeoutline.js:
3203         (TreeElement.prototype._attach):
3204         (TreeElement.treeElementMouseDown):
3205         (TreeElement.prototype.selectOnMouseDown):
3206
3207 2010-04-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3208
3209         Unreviewed build fix when building --no-svg.
3210
3211         Build fix after r56941. Add ENABLE(SVG) guard.
3212
3213         * rendering/RenderLayer.cpp:
3214         (WebCore::RenderLayer::updateLayerPositions):
3215
3216 2010-04-02  Yury Semikhatsky  <yurys@chromium.org>
3217
3218         Reviewed by Pavel Feldman.
3219
3220         Implement InspectorFrontendHost::showContextMenu for Chromium.
3221  
3222         Move inspector frontend context menu code from InspectorFrontendClient to InspectorFrontendHost as it's platform independent.
3223  
3224         https://bugs.webkit.org/show_bug.cgi?id=36817
3225
3226         * WebCore.Inspector.exp:
3227         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
3228         (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
3229         * inspector/InspectorFrontendClient.h:
3230         * inspector/InspectorFrontendClientLocal.cpp:
3231         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
3232         (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
3233         (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
3234         * inspector/InspectorFrontendClientLocal.h:
3235         * inspector/InspectorFrontendHost.cpp:
3236         (WebCore::FrontendMenuProvider::create):
3237         (WebCore::FrontendMenuProvider::disconnect):
3238         (WebCore::FrontendMenuProvider::FrontendMenuProvider):
3239         (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
3240         (WebCore::FrontendMenuProvider::populateContextMenu):
3241         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
3242         (WebCore::FrontendMenuProvider::contextMenuCleared):
3243         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
3244         (WebCore::InspectorFrontendHost::disconnectClient):
3245         (WebCore::InspectorFrontendHost::showContextMenu):
3246         * inspector/InspectorFrontendHost.h:
3247         (WebCore::InspectorFrontendHost::create):
3248
3249 2010-04-02  Ilya Tikhonovsky  <loislo@chromium.org>
3250
3251         Reviewed by Pavel Feldman.
3252
3253         WebInspector: Timeline Overview pane should support short records filtering.
3254         https://bugs.webkit.org/show_bug.cgi?id=37020
3255
3256         * English.lproj/localizedStrings.js:
3257         * inspector/front-end/TimelineOverviewPane.js:
3258         (WebInspector.TimelineOverviewPane.prototype.update.markTimeline):
3259         (WebInspector.TimelineOverviewPane.prototype.update):
3260         * inspector/front-end/TimelinePanel.js:
3261         (WebInspector.TimelinePanel):
3262         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
3263         (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
3264         (WebInspector.TimelinePanel.prototype._refresh):
3265         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
3266         (WebInspector.TimelinePanel.FormattedRecord.prototype.isLong):
3267
3268 2010-04-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3269
3270         Reviewed by Eric Seidel.
3271
3272         Accept XHTML-MP content type as XHTML content
3273         https://bugs.webkit.org/show_bug.cgi?id=34262
3274
3275         Enable processing XHTML-MP mime type as an XHTML document
3276         even if XHTML-MP support is not enabled.
3277
3278         * platform/MIMETypeRegistry.cpp:
3279         (WebCore::initializeSupportedNonImageMimeTypes):
3280
3281 2010-04-02  Adam Barth  <abarth@webkit.org>
3282
3283         Reviewed by Daniel Bates.
3284
3285         Make XSSAuditor go fast with large POST data
3286         https://bugs.webkit.org/show_bug.cgi?id=36694
3287
3288         There were two things slowing down this bechmark:
3289
3290         1) Searching the large POST data for each inline event handler.  To
3291            make this faster, we now use a suffix tree to fast-reject strings
3292            that don't appear as substrings of the POST data.
3293
3294         2) The next largest cost was flattening the form data into a string.
3295            To make this fater, we now use the form data object itself as a key
3296            and only flatten once.
3297
3298         * GNUmakefile.am:
3299         * WebCore.gypi:
3300         * WebCore.vcproj/WebCore.vcproj:
3301         * WebCore.xcodeproj/project.pbxproj:
3302         * page/XSSAuditor.cpp:
3303         (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL):
3304         (WebCore::XSSAuditor::CachingURLCanonicalizer::clear):
3305         (WebCore::XSSAuditor::XSSAuditor):
3306         (WebCore::XSSAuditor::findInRequest):
3307         * page/XSSAuditor.h:
3308         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
3309         (WebCore::XSSAuditor::CachingURLCanonicalizer::generation):
3310         * platform/text/SuffixTree.h: Added.
3311         (WebCore::UnicodeCodebook::codeWord):
3312         (WebCore::UnicodeCodebook::):
3313         (WebCore::ASCIICodebook::codeWord):
3314         (WebCore::ASCIICodebook::):
3315         (WebCore::SuffixTree::SuffixTree):
3316         (WebCore::SuffixTree::mightContain):
3317         (WebCore::SuffixTree::Node::Node):
3318         (WebCore::SuffixTree::Node::~Node):
3319         (WebCore::SuffixTree::Node::at):
3320         (WebCore::SuffixTree::build):
3321
3322 2010-04-02  Roland Steiner  <rolandsteiner@chromium.org>
3323
3324         Reviewed by Eric Seidel.
3325
3326         Bug 36741 -  Duplicate, slightly divergent implementation of Position[Iterator]::isCandidate()
3327         https://bugs.webkit.org/show_bug.cgi?id=36741
3328         
3329         Patch: change Position::isCandididate() to call the PositionIterator::isCandidate() version.
3330         Update PositionIterator::isCandidate() to mirror Position::isCandidate().
3331
3332         Rationale: PositionIterator::isCandidate() is called in a tight loop within
3333         next/previousCandidate(). Also, creation of a PositionIterator from a Position
3334         is cheaper than vice-versa.
3335
3336         Tests: ran all tests in 'editing'.
3337
3338         * dom/Position.cpp:
3339         (WebCore::Position::isCandidate):
3340         * dom/PositionIterator.cpp:
3341         (WebCore::PositionIterator::isCandidate):
3342
3343 2010-04-02  Steve Falkenburg  <sfalken@apple.com>
3344
3345         Reviewed by Dan Bernstein.
3346
3347         Database code falsely returns errors due to errant pointer check
3348         https://bugs.webkit.org/show_bug.cgi?id=37014
3349
3350         r56943 introduced a check to see if there were any unprocessed
3351         SQL commands after calling sqlite3_prepare16_v2.
3352
3353         Accessing the remaining data via pointer wasn't possible since
3354         the query string is deallocated immediately after the
3355         query runs. The String returned from strippedWhiteSpace
3356         goes out of scope at that point.
3357
3358         Fix is to store the strippedWhiteSpace in a temporary String
3359         so we can access it via character ptr later in the function.
3360
3361         * platform/sql/SQLiteStatement.cpp:
3362         (WebCore::SQLiteStatement::prepare):
3363
3364 2010-04-01  MORITA Hajime  <morrita@google.com>
3365
3366         Reviewed by Darin Adler.
3367
3368         setting document.title doesn't change document.title value 
3369         https://bugs.webkit.org/show_bug.cgi?id=36802
3370
3371         An entity of "value" argument on HTMLTitleElement::setTitle() could be
3372         Document::m_title and be changed during HTMLTitleElement::setText(). 
3373         Fix copying the argument to keep the original value.
3374         
3375         Test: fast/dom/Document/title-with-multiple-children.html
3376
3377         * html/HTMLTitleElement.cpp:
3378         (WebCore::HTMLTitleElement::setText):
3379
3380 2010-04-01  Luiz Agostini  <luiz.agostini@openbossa.org>
3381
3382         Reviewed by Kenneth Rohde Christiansen.
3383
3384         [Qt] Maemo5 theme - <select multiple> custom rendering
3385         https://bugs.webkit.org/show_bug.cgi?id=36369
3386
3387         Customizing rendering of <select multiple> elements in Maemo5.
3388
3389         * platform/qt/Maemo5Webstyle.cpp:
3390         (Maemo5WebStyle::drawMultipleComboButton):
3391         (Maemo5WebStyle::drawSimpleComboButton):
3392         (Maemo5WebStyle::getButtonImageSize):
3393         (Maemo5WebStyle::findComboButton):
3394         (Maemo5WebStyle::drawComplexControl):
3395         * platform/qt/Maemo5Webstyle.h:
3396
3397 2010-04-01  Kinuko Yasuda  <kinuko@chromium.org>
3398
3399         Reviewed by Dmitry Titov.
3400
3401         Add FileThread for async file operation support in FileReader and FileWriter
3402         https://bugs.webkit.org/show_bug.cgi?id=36896
3403
3404         Add FileThread for async file operation support for FileReader and
3405         FileWriter.  The patch also adds ENABLE_FILE_READER or
3406         ENABLE_FILE_WRITER build flags/defines.  Both flags are disabled
3407         by default.
3408
3409         No new tests, will add ones when after adding modules which use the thread.
3410
3411         * Configurations/FeatureDefines.xcconfig:
3412         * GNUmakefile.am:
3413         * WebCore.gypi:
3414         * WebCore.pro:
3415         * WebCore.vcproj/WebCore.vcproj:
3416         * WebCore.xcodeproj/project.pbxproj:
3417         * dom/ScriptExecutionContext.cpp:
3418         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3419         (WebCore::ScriptExecutionContext::fileThread):
3420         * dom/ScriptExecutionContext.h:
3421         * html/FileThread.cpp: Added.
3422         (WebCore::FileThread::FileThread):
3423         (WebCore::FileThread::~FileThread):
3424         (WebCore::FileThread::start):
3425         (WebCore::FileThread::stop):
3426         (WebCore::FileThread::postTask):
3427         (WebCore::SameFilePredicate::SameFilePredicate):
3428         (WebCore::SameFilePredicate::operator()):
3429         (WebCore::FileThread::removeTask):
3430         (WebCore::FileThread::fileThreadStart):
3431         (WebCore::FileThread::runLoop):
3432         * html/FileThread.h: Added.
3433         (WebCore::FileThread::create):
3434         (WebCore::FileThread::Task::Task):
3435         (WebCore::FileThread::Task::~Task):
3436         (WebCore::FileThread::Task::fileHandle):
3437         * platform/Logging.cpp:
3438         (WebCore::):
3439         (WebCore::getChannelFromName):
3440         * platform/Logging.h:
3441
3442 2010-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
3443
3444         Unreviewed. Rollout of http://trac.webkit.org/changeset/56930
3445         https://bugs.webkit.org/show_bug.cgi?id=36977
3446
3447         * accessibility/AccessibilityImageMapLink.cpp:
3448         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
3449
3450 2010-04-01  MORITA Hajime  <morrita@google.com>
3451
3452         Reviewed by Darin Adler.
3453
3454         WebCore::Document::updateLayoutIgnorePendingStylesheets NULL pointer
3455         https://bugs.webkit.org/show_bug.cgi?id=31680
3456         Ownerless nodes leads a crash on DOMSelection APIs
3457         https://bugs.webkit.org/show_bug.cgi?id=36800
3458
3459         Added guards nodes from foreign documents to DOMSelection APIs.
3460
3461         Tests: editing/selection/DOMSelection-DocumentType.html
3462                editing/selection/DOMSelection-crossing-document.html
3463
3464         * editing/VisiblePosition.cpp:
3465         (WebCore::VisiblePosition::canonicalPosition):
3466         * page/DOMSelection.cpp:
3467         (WebCore::DOMSelection::collapse):
3468         (WebCore::DOMSelection::setBaseAndExtent):
3469         (WebCore::DOMSelection::setPosition):
3470         (WebCore::DOMSelection::extend):
3471         (WebCore::DOMSelection::containsNode):
3472         (WebCore::DOMSelection::isValidForPosition):
3473         * page/DOMSelection.h:
3474
3475 2010-04-01  Chris Evans  <cevans@chromium.org>
3476
3477         Reviewed by Adam Barth.
3478
3479         Fix a NULL pointer crash if @import fails to load a stylesheet.
3480
3481         https://bugs.webkit.org/show_bug.cgi?id=36804
3482
3483         Test: fast/xsl/xslt-bad-import-uri.html
3484
3485         * xml/XSLStyleSheetLibxslt.cpp:
3486         (WebCore::XSLStyleSheet::parseString):
3487           Handle an empty string gracefully. An empty string has a NULL
3488           buffer, which we pass in to xmlCreateMemoryParserCtxt(). It returns
3489           NULL if it is passed a NULL buffer.
3490           In the top-level XSL case, the current code does not crash "by luck"
3491           because the other APIs used can handle a NULL argument. In the
3492           @import case, additional code runs which will deference the NULL.
3493
3494 2010-04-01  Alexey Proskuryakov  <ap@apple.com>
3495
3496         Reviewed by Darin Adler.
3497
3498         https://bugs.webkit.org/show_bug.cgi?id=36854
3499         <rdar://problem/7811668> REGRESSION (r47291): Body from cross origin preflight response
3500         is prepended to the actual response body
3501
3502         Tests: http/tests/xmlhttprequest/access-control-response-with-body-sync.html
3503                http/tests/xmlhttprequest/access-control-response-with-body.html
3504
3505         * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveData):
3506         Don't send data to the client when handling a preflight request.
3507
3508 2010-04-01  Ada Chan  <adachan@apple.com>
3509
3510         Reviewed by Darin Adler.
3511         
3512         Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin.
3513         Ditto for DatabaseTracker::deleteDatabase().
3514         
3515         https://bugs.webkit.org/show_bug.cgi?id=36988
3516
3517         * storage/DatabaseTracker.cpp:
3518         (WebCore::DatabaseTracker::deleteOrigin):
3519         (WebCore::DatabaseTracker::deleteDatabase):
3520         * storage/DatabaseTracker.h:
3521
3522 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
3523
3524         No review.
3525
3526         Remove some casts that I indended to remove before committing r56948.
3527
3528         * rendering/RenderTreeAsText.cpp:
3529         (WebCore::writeRenderObject):
3530         (WebCore::write):
3531
3532 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
3533
3534         Reviewed by Darin Adler.
3535
3536         Assertion failure (willBeComposited == needsToBeComposited(layer)) in
3537         RenderLayerCompositor::computeCompositingRequirements() on hulu.com
3538         https://bugs.webkit.org/show_bug.cgi?id=36516
3539         
3540         Fix assertions added in r56017. That changed replaced calls to needsToBeComposited()
3541         with use of the local 'willBeComposited' variable, but that fails to take into
3542         account the fact that needsToBeComposited() also tests layer->isSelfPaintingLayer().
3543         
3544         Fix by adding a canBeComposited() method that we call before testing
3545         whether the layer should go into compositing mode.
3546
3547         Test: compositing/self-painting-layers2.html
3548
3549         * rendering/RenderLayerCompositor.cpp:
3550         (WebCore::RenderLayerCompositor::calculateCompositedBounds): Repace use of isSelfPaintingLayer()
3551         with a call to canBeComposited().
3552         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call canBeComposited() to ensure
3553         that we only toggle 'willBeComposited' for layers that can.
3554         (WebCore::RenderLayerCompositor::needsToBeComposited): Call canBeComposited().
3555         (WebCore::RenderLayerCompositor::canBeComposited): Test if compositing is enabled, and whether
3556         the layer is self-painting.
3557         * rendering/RenderLayerCompositor.h: Add canBeComposited().
3558
3559 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
3560
3561         Reviewed by Darin Adler.
3562
3563         https://bugs.webkit.org/show_bug.cgi?id=36980
3564         Add object addresses to debug showLayerTree() output.
3565         
3566         Add the ability to print RenderLayer and RenderObject addresses in the showLayerTree()
3567         output.
3568
3569         * platform/text/TextStream.cpp:
3570         (WebCore::TextStream::operator<<):
3571         * platform/text/TextStream.h:
3572         * rendering/RenderLayer.cpp:
3573         (showLayerTree):
3574         * rendering/RenderTreeAsText.cpp:
3575         (WebCore::writeRenderObject):
3576         (WebCore::write):
3577         * rendering/RenderTreeAsText.h:
3578
3579 2010-03-29  Dumitru Daniliuc  <dumi@chromium.org>
3580
3581         Reviewed by Dimitri Glazkov.
3582
3583         Changing SQLiteStatement::prepare() to return an error when it's
3584         given a string that has more than one statement in it. Currently,
3585         everything past the first statement is silently ignored.
3586
3587         Test: storage/executesql-accepts-only-one-statement.html
3588
3589         * platform/sql/SQLiteStatement.cpp:
3590         (WebCore::SQLiteStatement::prepare):
3591
3592 2010-04-01  James Robinson  <jamesr@chromium.org>
3593
3594         Reviewed by Simon Fraser.
3595
3596         Keeps a transient optimistic offset to the root in RenderLayer::updateLayerPositions