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