f3b8cc17ed93d6145dcedcae8a1fd704e6bf4429
[WebKit-https.git] / WebCore / ChangeLog
1 2010-10-18  Yongjun Zhang  <yongjun_zhang@apple.com>
2
3         Reviewed by Darin Adler.
4
5         Missing support for document.createEvent("OrientationEvent")
6         https://bugs.webkit.org/show_bug.cgi?id=32492
7
8         Add support for document.createEvent("OrientationEvent") to help unit testing of
9         onOrientationChange event.
10
11         Test: fast/dom/DeviceOrientation/create-event-onorientationchange.html
12
13         * dom/Document.cpp:
14         (WebCore::Document::createEvent):
15
16 2010-10-18  Jeremy Orlow  <jorlow@chromium.org>
17
18         Reviewed by Darin Adler.
19
20         DOMStringList should return null if the index is out of range
21         https://bugs.webkit.org/show_bug.cgi?id=47829
22
23         When item() returns a null string, it needs to be passed to JS as
24         null. The indexed getter will then magically do the right thing.
25         So all that's left is having DOMStringList::item() return null when
26         the index is out of bounds.
27
28         * dom/DOMStringList.cpp:
29         (WebCore::DOMStringList::item):
30         * dom/DOMStringList.h:
31         * dom/DOMStringList.idl:
32
33 2010-10-18  Girish Ramakrishnan  <girish@forwardbias.in>
34
35         Reviewed by Ariya Hidayat.
36
37         [Qt] Implement Accelerated Composition for NPAPI Plugins.
38
39         https://bugs.webkit.org/show_bug.cgi?id=35524
40
41         * plugins/PluginView.h:
42         (WebCore::PluginView::platformLayer):
43         * plugins/qt/PluginViewQt.cpp:
44         (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
45         (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
46         (WebCore::PluginGraphicsLayerQt::paint):
47         (WebCore::PluginView::updatePluginWidget):
48         (WebCore::PluginView::paint):
49         (WebCore::PluginView::invalidateRect):
50         (WebCore::PluginView::invalidateRegion):
51         (WebCore::PluginView::platformStart):
52         (WebCore::PluginView::platformLayer):
53
54 2010-10-18  Stuart Morgan  <stuartmorgan@chromium.org>
55
56         Reviewed by Eric Seidel.
57
58         Switch to using the new Carbon NPAPI event declarations, and remove
59         the old ones.
60
61         https://bugs.webkit.org/show_bug.cgi?id=40784
62
63         * bridge/npapi.h:
64         * plugins/mac/PluginViewMac.mm:
65         (WebCore::PluginView::setFocus):
66         (WebCore::PluginView::handleMouseEvent):
67
68 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
69
70         Reviewed by Yury Semikhatsky.
71
72         Web Inspector: comment out resource manager instantiation on front-end side.
73         https://bugs.webkit.org/show_bug.cgi?id=47823
74
75         * inspector/front-end/inspector.js:
76
77 2010-10-18  Andrei Popescu  <andreip@google.com>
78
79         Reviewed by Jeremy Orlow.
80
81         The description parameter of IDBFactory::open() should be mandatory.
82         https://bugs.webkit.org/show_bug.cgi?id=47835
83
84         Makes the description parameter mandatory, as per the IndexedDatabase specification.
85         Modified existing tests to cover this change.
86
87         * storage/IDBDatabaseBackendImpl.cpp:
88         (WebCore::extractMetaData):
89         (WebCore::setMetaData):
90         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
91         * storage/IDBFactory.cpp:
92         (WebCore::IDBFactory::open):
93         * storage/IDBFactory.h:
94         * storage/IDBFactory.idl:
95
96 2010-10-18  Xiaomei Ji  <xji@chromium.org>
97
98         Reviewed by David Levin.
99
100         Code cleanup: Move most function members in TextRunWorker from inlined.
101         https://bugs.webkit.org/show_bug.cgi?id=47732
102
103         No functionality change, so no tests added.
104
105         * platform/graphics/chromium/FontLinux.cpp:
106         (WebCore::TextRunWalker::setWordSpacingAdjustment):
107         (WebCore::TextRunWalker::setLetterSpacingAdjustment):
108         (WebCore::TextRunWalker::setXOffsetToZero):
109         (WebCore::TextRunWalker::rtl):
110         (WebCore::TextRunWalker::glyphs):
111         (WebCore::TextRunWalker::length):
112         (WebCore::TextRunWalker::xPositions):
113         (WebCore::TextRunWalker::advances):
114         (WebCore::TextRunWalker::width):
115         (WebCore::TextRunWalker::logClusters):
116         (WebCore::TextRunWalker::numCodePoints):
117         (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
118         (WebCore::TextRunWalker::isCodepointSpace):
119         (WebCore::TextRunWalker::TextRunWalker):
120         (WebCore::TextRunWalker::~TextRunWalker):
121         (WebCore::TextRunWalker::isWordBreak):
122         (WebCore::TextRunWalker::setPadding):
123         (WebCore::TextRunWalker::reset):
124         (WebCore::TextRunWalker::setBackwardsIteration):
125         (WebCore::TextRunWalker::nextScriptRun):
126         (WebCore::TextRunWalker::widthOfFullRun):
127         (WebCore::TextRunWalker::getTextRun):
128         (WebCore::TextRunWalker::getNormalizedTextRun):
129         (WebCore::TextRunWalker::setupFontForScriptRun):
130         (WebCore::TextRunWalker::allocHarfbuzzFont):
131         (WebCore::TextRunWalker::deleteGlyphArrays):
132         (WebCore::TextRunWalker::createGlyphArrays):
133         (WebCore::TextRunWalker::resetGlyphArrays):
134         (WebCore::TextRunWalker::shapeGlyphs):
135         (WebCore::TextRunWalker::setGlyphXPositions):
136         (WebCore::TextRunWalker::mirrorCharacters):
137
138 2010-10-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
139
140         Reviewed by Andreas Kling.
141
142         [Qt] AC rendering bugs
143         There were a few missing connections in Qt AC between GraphicsLayer and plugins, like changing the plugin's geometry to the layer's
144         contentsRect, and making sure media layers handle ParentChange events and setContentsNeedsDisplay. Now media layers behave correctly.
145
146         https://bugs.webkit.org/show_bug.cgi?id=47571
147
148         No new tests. This is in preparation for fixing AC+plugins, which already has tests that don't work yet with Qt.
149
150         * platform/graphics/qt/GraphicsLayerQt.cpp:
151         (WebCore::GraphicsLayerQtImpl::flushChanges):
152         (WebCore::GraphicsLayerQt::setContentsNeedsDisplay):
153         * platform/graphics/qt/GraphicsLayerQt.h:
154
155 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
156
157         Reviewed by Simon Fraser.
158
159         Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
160         https://bugs.webkit.org/show_bug.cgi?id=46224
161
162         * CMakeLists.txt:
163         * GNUmakefile.am:
164         * WebCore.gypi:
165         * WebCore.pro:
166         * WebCore.vcproj/WebCore.vcproj:
167         * WebCore.xcodeproj/project.pbxproj:
168         * inspector/InspectorClient.cpp: Added.
169         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
170         * inspector/InspectorClient.h:
171         (WebCore::InspectorClient::InspectorClient):
172
173 2010-10-18  Andrei Popescu  <andreip@google.com>
174
175         Reviewed by Jeremy Orlow.
176
177         IDBKeyTree.h is no longer used.
178         https://bugs.webkit.org/show_bug.cgi?id=47824
179
180         No new tests, just removing unused files.
181
182         * WebCore.gypi:
183         * WebCore.xcodeproj/project.pbxproj:
184         * storage/IDBKeyTree.h: Removed.
185
186 2010-10-18  Andreas Kling  <kling@webkit.org>
187
188         Unreviewed buildfix for Qt + V8.
189         Add missing <wtf/text/CString.h> include.
190
191         * inspector/InspectorInstrumentation.cpp:
192
193 2010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>
194
195         Reviewed by Yury Semikhatsky.
196
197         Web Inspector: toJSON serialization for Numbers should be fixed.
198         DecimalNumber is used instead of printf.
199
200         https://bugs.webkit.org/show_bug.cgi?id=43832
201
202         * inspector/InspectorValues.cpp:
203         (WebCore::InspectorBasicValue::writeJSON):
204
205 2010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>
206
207         Reviewed by Yury Semikhatsky.
208
209         Web Inspector: [REGRESSION] Inspector window visible during run-webkit-tests.
210         The initial state of an inspector setting should stay untouched
211         if the profile has no value for it.
212
213         https://bugs.webkit.org/show_bug.cgi?id=47785
214
215         * inspector/InspectorState.cpp:
216         (WebCore::InspectorState::loadFromSettings):
217
218 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
219
220         Reviewed by Yury Semikhatsky.
221
222         Web Inspector: tab headers on resource panel are 1px off on Mac.
223         https://bugs.webkit.org/show_bug.cgi?id=47798
224
225         * inspector/front-end/inspector.css:
226         (.tabbed-pane-header li):
227
228 2010-10-18  Pavel Feldman  <pfeldman@chromium.org>
229
230         Not reviewed. Build fix.
231
232         * inspector/InspectorResourceAgent.cpp:
233         (WebCore::cachedResourceTypeString):
234
235 2010-10-17  Pavel Feldman  <pfeldman@chromium.org>
236
237         Reviewed by Yury Semikhatsky.
238
239         Web Inspector: Introduce InspectorResourceAgent.h/cpp and ResourceManager.js to
240         fill network panel with data.
241         https://bugs.webkit.org/show_bug.cgi?id=47779
242         
243         InspectorResourceAgent instance / JS part are introduced in this patch. Agent's lifetime is equal
244         to the front-end's. This new resource agent does not have state, instead it covers two functions:
245          1) forwards loader client messages to the front-end 2) is capable of building a tree of cached resources.
246         (1) feeds network panel with data, (2) shows the resource tree in the new ResourcesPanel concept.
247         This bug is for extracting this new InspectorResourceAgent class and its javascript counterpart.
248         Once resources panel is refactored for the new concept, InspectorResource, InspectorController's
249         resource-related routines, inspector.js's code dealing with resources, they all will be gone.
250
251         * WebCore.gypi:
252         * WebCore.vcproj/WebCore.vcproj:
253         * inspector/CodeGeneratorInspector.pm:
254         * inspector/Inspector.idl:
255         * inspector/InspectorApplicationCacheAgent.cpp:
256         (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
257         * inspector/InspectorController.cpp:
258         (WebCore::InspectorController::connectFrontend):
259         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
260         (WebCore::InspectorController::didCommitLoad):
261         (WebCore::InspectorController::frameDetachedFromParent):
262         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
263         (WebCore::InspectorController::identifierForInitialRequest):
264         (WebCore::InspectorController::willSendRequest):
265         (WebCore::InspectorController::markResourceAsCached):
266         (WebCore::InspectorController::didReceiveResponse):
267         (WebCore::InspectorController::didReceiveContentLength):
268         (WebCore::InspectorController::didFinishLoading):
269         (WebCore::InspectorController::didFailLoading):
270         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
271         (WebCore::InspectorController::scriptImported):
272         (WebCore::InspectorController::didCreateWebSocket):
273         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
274         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
275         (WebCore::InspectorController::didCloseWebSocket):
276         * inspector/InspectorController.h:
277         * inspector/InspectorResource.cpp:
278         (WebCore::InspectorResource::updateResponse):
279         (WebCore::cachedResourceType):
280         (WebCore::InspectorResource::type):
281         (WebCore::InspectorResource::sourceString):
282         (WebCore::InspectorResource::sourceBytes):
283         (WebCore::InspectorResource::endTiming):
284         * inspector/InspectorResourceAgent.cpp:
285         (WebCore::InspectorResourceAgent::resourceContent):
286         (WebCore::InspectorResourceAgent::resourceContentBase64):
287         (WebCore::InspectorResourceAgent::resourceData):
288         (WebCore::InspectorResourceAgent::cachedResource):
289         (WebCore::buildObjectForHeaders):
290         (WebCore::buildObjectForTiming):
291         (WebCore::buildObjectForResourceRequest):
292         (WebCore::buildObjectForResourceResponse):
293         (WebCore::buildObjectForMainResource):
294         (WebCore::cachedResourceTypeString):
295         (WebCore::buildObjectForCachedResource):
296         (WebCore::buildObjectForFrameResources):
297         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
298         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
299         (WebCore::InspectorResourceAgent::willSendRequest):
300         (WebCore::InspectorResourceAgent::markResourceAsCached):
301         (WebCore::InspectorResourceAgent::didReceiveResponse):
302         (WebCore::InspectorResourceAgent::didReceiveContentLength):
303         (WebCore::InspectorResourceAgent::didFinishLoading):
304         (WebCore::InspectorResourceAgent::didFailLoading):
305         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
306         (WebCore::InspectorResourceAgent::setOverrideContent):
307         (WebCore::InspectorResourceAgent::didCommitLoad):
308         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
309         (WebCore::createReadableStringFromBinary):
310         (WebCore::InspectorResourceAgent::didCreateWebSocket):
311         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
312         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
313         (WebCore::InspectorResourceAgent::didCloseWebSocket):
314         (WebCore::InspectorResourceAgent::cachedResources):
315         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
316         * inspector/InspectorResourceAgent.h:
317         (WebCore::InspectorResourceAgent::create):
318         * inspector/InspectorStyleSheet.cpp:
319         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
320         * inspector/front-end/ExtensionServer.js:
321         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
322         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
323         * inspector/front-end/Resource.js:
324         (WebInspector.Resource.prototype.get responseReceivedTime):
325         (WebInspector.Resource.prototype.set endTime):
326         * inspector/front-end/Settings.js:
327         * inspector/front-end/SourceView.js:
328         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
329         * inspector/front-end/WebKit.qrc:
330         * inspector/front-end/inspector.css:
331         (.tabbed-pane-header li):
332         * inspector/front-end/inspector.html:
333         * inspector/front-end/inspector.js:
334         (WebInspector.updateResource):
335         * loader/ResourceLoadNotifier.cpp:
336         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
337         * loader/appcache/ApplicationCacheGroup.cpp:
338         (WebCore::ApplicationCacheGroup::didReceiveResponse):
339
340 2010-10-16  Pavel Feldman  <pfeldman@chromium.org>
341
342         Reviewed by Yury Semikhatsky.
343
344         Web Inspector: brush up URL parsing on the front-end.
345         https://bugs.webkit.org/show_bug.cgi?id=47772
346
347         * inspector/InspectorResource.cpp:
348         (WebCore::InspectorResource::updateScriptObject):
349         * inspector/front-end/AuditRules.js:
350         (WebInspector.AuditRules.getDomainToResourcesMap):
351         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
352         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
353         (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
354         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
355         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
356         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
357         * inspector/front-end/CookieItemsView.js:
358         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
359         * inspector/front-end/DOMAgent.js:
360         (WebInspector.Cookies.cookieMatchesResourceURL):
361         * inspector/front-end/Resource.js:
362         (WebInspector.Resource):
363         (WebInspector.Resource.prototype.set url):
364         (WebInspector.Resource.prototype.get displayName):
365         * inspector/front-end/ResourceCategory.js:
366         (WebInspector.ResourceCategory.prototype.addResource):
367         * inspector/front-end/ResourceView.js:
368         (WebInspector.ResourceView):
369         * inspector/front-end/inspector.js:
370         (WebInspector.documentClick.followLink):
371         (WebInspector.documentClick):
372         (WebInspector.updateResource):
373         (WebInspector.linkifyStringAsFragment):
374         (WebInspector.resourceURLForRelatedNode):
375         (WebInspector.completeURL):
376         * inspector/front-end/utilities.js:
377         (String.prototype.asParsedURL):
378
379 2010-10-17  Andreas Kling  <kling@webkit.org>
380
381         Reviewed by Kenneth Rohde Christiansen.
382
383         [Qt] Support custom open() verbs/methods in XMLHttpRequest
384         https://bugs.webkit.org/show_bug.cgi?id=40476
385
386         Fall back to QNetworkAccessManager::CustomOperation for any HTTP verb
387         that's not specifically supported by QNetworkAccessManager.
388
389         This prevents the infinite loop that otherwise occurs after sending
390         an UnknownOperation request.
391
392         This change is covered by existing (skipped) tests that will be
393         unskipped once the Qt bots are running Qt 4.7.
394
395         * platform/network/qt/QNetworkReplyHandler.cpp:
396         (WebCore::QNetworkReplyHandler::httpMethod):
397         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
398         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
399         * platform/network/qt/QNetworkReplyHandler.h:
400
401 2010-10-17  Adam Barth  <abarth@webkit.org>
402
403         Reviewed by Dimitri Glazkov.
404
405         Remove explicit passing of user gesture in NavigationScheduler
406         https://bugs.webkit.org/show_bug.cgi?id=47786
407
408         As requested by Mr. Glazkov, remove more explicit passing of the user
409         gesture state.  We now use a static to pass this information around.
410
411         * bindings/generic/BindingFrame.h:
412         (WebCore::::navigateIfAllowed):
413         * bindings/js/JSDOMWindowCustom.cpp:
414         (WebCore::JSDOMWindow::setLocation):
415         * bindings/js/JSLocationCustom.cpp:
416         (WebCore::JSLocation::reload):
417         * bindings/v8/custom/V8LocationCustom.cpp:
418         (WebCore::V8Location::reloadCallback):
419         * inspector/InspectorController.cpp:
420         (WebCore::InspectorController::setResourceTrackingEnabled):
421         (WebCore::InspectorController::reloadPage):
422         * loader/NavigationScheduler.cpp:
423         (WebCore::ScheduledNavigation::ScheduledNavigation):
424         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
425         (WebCore::ScheduledRedirect::ScheduledRedirect):
426         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
427         (WebCore::ScheduledRefresh::ScheduledRefresh):
428         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
429         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
430         (WebCore::NavigationScheduler::scheduleRedirect):
431         (WebCore::NavigationScheduler::mustLockBackForwardList):
432         (WebCore::NavigationScheduler::scheduleLocationChange):
433         (WebCore::NavigationScheduler::scheduleFormSubmission):
434         (WebCore::NavigationScheduler::scheduleRefresh):
435         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
436         * loader/NavigationScheduler.h:
437         * loader/SubframeLoader.cpp:
438         (WebCore::SubframeLoader::loadOrRedirectSubframe):
439
440 2010-10-17  Julien Chaffraix  <jchaffraix@codeaurora.org>
441
442         Reviewed by Andreas Kling.
443
444         'transparent' should be a valid color
445         https://bugs.webkit.org/show_bug.cgi?id=45482
446
447         Test: svg/animations/svg-animate-color-transparent.svg
448
449         Based on previous work by Jan Erik Hanssen  <jhanssen@codeaurora.org>
450
451         * platform/ColorData.gperf: Added 'transparent' to the list of colors.
452         Added the alpha to all the colors as it was needed to support the new color.
453
454         * platform/graphics/Color.cpp:
455         (WebCore::Color::Color):
456         (WebCore::Color::setNamedColor): Avoid setting the alpha as now it is not
457         always 0xFF.
458
459 2010-10-17  Justin Schuh  <jschuh@chromium.org>
460
461         Reviewed by Nikolas Zimmermann.
462
463         Duplicate use element children in shadow tree.
464         https://bugs.webkit.org/show_bug.cgi?id=47561
465
466         Test: svg/custom/use-nested-children.svg
467
468         * svg/SVGUseElement.cpp:
469         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
470
471 2010-10-17  Hyung Song  <beergun@company100.net>
472
473         Reviewed by David Levin.
474
475         Add !SINGLE_THREADED guard.
476         https://bugs.webkit.org/show_bug.cgi?id=47608
477
478         For SINGLE_THREADED ports LockingMutex.tryLock() returns false.
479         This will prevent interrupt() from falling into infinite loop.
480
481         * platform/sql/SQLiteDatabase.cpp:
482         (WebCore::SQLiteDatabase::interrupt):
483
484 2010-10-17  Simon Fraser  <simon.fraser@apple.com>
485
486         Reviewed by Nikolas Zimmermann.
487
488         Very large and small numbers fail to round-trip through CSS
489         https://bugs.webkit.org/show_bug.cgi?id=20674
490         
491         Use the new DecimalNumber functionality to convert CSS numberic values to strings
492         using decimal notation, rather than %g (which can output scientific notation).
493
494         Test: fast/css/round-trip-values.html
495
496         * css/CSSPrimitiveValue.cpp:
497         (WebCore::formatNumber):
498         (WebCore::CSSPrimitiveValue::cssText):
499
500 2010-10-17  Cosmin Truta  <ctruta@chromium.org>
501
502         Reviewed by Nikolas Zimmermann.
503
504         Crash while processing ill-formed SVG with cycles
505         https://bugs.webkit.org/show_bug.cgi?id=47498
506
507         Test: svg/custom/invalid-paint-shape-mask.svg
508
509         * rendering/SVGResources.cpp:
510         (paintingResourceFromSVGPaint): Ensured that the painting resource is
511         either a pattern resource or a gradient resource.
512         (SVGResources::setClipper):
513         (SVGResources::setFilter):
514         (SVGResources::setMarkerStart):
515         (SVGResources::setMarkerMid):
516         (SVGResources::setMarkerEnd):
517         (SVGResources::setMasker):
518         (SVGResources::setFill):
519         (SVGResources::setStroke): Added ASSERT statements for previously-unchecked
520         preconditions.
521
522 2010-10-17  Alex Milowski  <alex@milowski.com>
523
524         Reviewed by Kenneth Rohde Christiansen.
525
526         Fixed extra whitespace above operators when they aren't stretched
527         yet the stretch height is large.  Also, the baseline alignment
528         was changed so that rows and operators interact appropriately now
529         that operators don't have the extra white space.
530
531         * mathml/RenderMathMLOperator.cpp:
532         * mathml/RenderMathMLRow.cpp:
533
534 2010-10-17  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
535
536         Reviewed by Antonio Gomes.
537
538         [Qt] Fix focusing of control elements on mouse click.
539         Brings GTK fix to Qt platform.
540         https://bugs.webkit.org/show_bug.cgi?id=40641
541                         
542         Test: fast/events/click-focus-control.html
543
544         * html/HTMLFormControlElement.cpp:
545         (WebCore::HTMLFormControlElement::isMouseFocusable):
546
547 2010-10-17  Adam Barth  <abarth@webkit.org>
548
549         Reviewed by Dimitri Glazkov.
550
551         FrameLoader doesn't need an explicit userGesture parameter
552         https://bugs.webkit.org/show_bug.cgi?id=47777
553
554         We used to pass around the user gesture state explicitly.  Now we use
555         static state.  Explicitly passing the user gesture state to FrameLoader
556         in these methods is pretty out-dated.
557
558         * bindings/ScriptControllerBase.cpp:
559         (WebCore::ScriptController::executeIfJavaScriptURL):
560         * bindings/generic/BindingDOMWindow.h:
561         (WebCore::::createWindow):
562         (WebCore::::open):
563         * bindings/js/JSDOMWindowCustom.cpp:
564         (WebCore::createWindow):
565         (WebCore::JSDOMWindow::open):
566         * bindings/js/JSDocumentCustom.cpp:
567         (WebCore::JSDocument::setLocation):
568         * bindings/js/ScriptController.h:
569         * bindings/v8/ScriptController.h:
570         * html/HTMLAnchorElement.cpp:
571         (WebCore::handleLinkClick):
572         * inspector/InspectorController.cpp:
573         (WebCore::InspectorController::openInInspectedWindow):
574         * loader/FrameLoader.cpp:
575         (WebCore::FrameLoader::changeLocation):
576         (WebCore::FrameLoader::urlSelected):
577         (WebCore::FrameLoader::submitForm):
578         * loader/FrameLoader.h:
579         * loader/NavigationScheduler.cpp:
580         (WebCore::ScheduledURLNavigation::fire):
581         (WebCore::ScheduledRefresh::fire):
582         (WebCore::ScheduledHistoryNavigation::fire):
583         (WebCore::NavigationScheduler::scheduleLocationChange):
584
585 2010-10-17  Sergey A. Sukiyazov  <sergey.sukiyazov@gmail.com>
586
587         Reviewed by Andreas Kling
588
589         [Qt] Hovering the mouse over links produce a trail of underlined links (X11 paint engine)
590         https://bugs.webkit.org/show_bug.cgi?id=42248
591
592         The problem will appear because coordinates of points may increase by 0.05f (if line width is odd) inside
593         method GraphicsContext::adjustLineToPixelBoundaries(...) and become outside of text bounding rect htere,
594         then the new point coordinates will be passed to Qt graphics engine.
595
596         The solution decreases Y cordinates of points inside drawLineForText(...) method only if Qt graphics engine
597         is X11. The Y coordinates will be increase by 0.5f inside method adjustLineToPixelBoundaries(...),  which
598         called from drawLine(...), and then inside Qt painting engine will be rounded to next greater integer value.
599
600         NOTE: This changes will affect only Qt X11 verision and if only X11 Painting Engine will be used.
601
602         No new tests.
603
604         * platform/graphics/qt/GraphicsContextQt.cpp:
605         (WebCore::GraphicsContext::drawLineForText):
606
607 2010-10-17  Rob Buis  <rwlbuis@gmail.com>
608
609         Reviewed by Dirk Schulze.
610
611         Text under nested link dropped
612         https://bugs.webkit.org/show_bug.cgi?id=46460
613
614         Allow links inside of tspan and textPath elements.
615
616         * svg/SVGTSpanElement.cpp:
617         (WebCore::SVGTSpanElement::childShouldCreateRenderer):
618         * svg/SVGTextPathElement.cpp:
619         (WebCore::SVGTextPathElement::childShouldCreateRenderer):
620
621 2010-10-16  Kwang Yul Seo  <skyul@company100.net>
622
623         Reviewed by Kent Tamura.
624
625         [BREWMP] Port TextCodec
626         https://bugs.webkit.org/show_bug.cgi?id=45797
627
628         Implement TextCodec with Brew MP's ICharsetConv.
629         Only UTF-8 is supported for now.
630
631         * platform/text/TextEncoding.cpp:
632         (WebCore::TextEncoding::encode):
633         * platform/text/TextEncodingRegistry.cpp:
634         (WebCore::buildBaseTextCodecMaps):
635         * platform/text/brew/TextCodecBrew.cpp: Added.
636         (WebCore::newTextCodecBrew):
637         (WebCore::TextCodecBrew::registerBaseEncodingNames):
638         (WebCore::TextCodecBrew::registerBaseCodecs):
639         (WebCore::TextCodecBrew::registerExtendedEncodingNames):
640         (WebCore::TextCodecBrew::registerExtendedCodecs):
641         (WebCore::TextCodecBrew::TextCodecBrew):
642         (WebCore::TextCodecBrew::~TextCodecBrew):
643         (WebCore::TextCodecBrew::decode):
644         (WebCore::TextCodecBrew::encode):
645         * platform/text/brew/TextCodecBrew.h: Added.
646
647 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
648
649         Unreviewed.
650
651         Build fix for !ENABLE(INSPECTOR) after r69844.
652
653         * inspector/InspectorState.h: Added ENABLE(INSPECTOR) guard.
654
655 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
656
657         Unreviewed, build fix.
658
659         WinCE build fix for r69798.
660
661         * platform/text/wince/TextCodecWinCE.cpp: Added missing include.
662
663 2010-10-16  Johnny Ding  <jnd@chromium.org>
664
665         Reviewed by Adam Barth.
666
667         Requires a user gesture when opening file choose dialog.
668         https://bugs.webkit.org/show_bug.cgi?id=47593
669
670         Test: fast/forms/input-file-not-open-without-gesture.html
671
672         * rendering/RenderFileUploadControl.cpp:
673         (WebCore::RenderFileUploadControl::click):
674
675 2010-10-16  Alex Milowski  <alex@milowski.com>
676
677         Reviewed by Kenneth Rohde Christiansen.
678
679         Changed the vertical alignment within mfenced to baseline to
680         match the rest of the containers (e.g. mrow) and adjusted the
681         operator spacing to 0.1em.
682
683         Test: mathml/presentation/fenced-mi.xhtml
684
685         * css/mathml.css:
686         * mathml/RenderMathMLFenced.cpp:
687
688 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
689
690         Reviewed by Adam Barth.
691
692         Rename StringHasherFunctions.h to StringHasher.h
693         https://bugs.webkit.org/show_bug.cgi?id=47200
694
695         * ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
696         * ForwardingHeaders/wtf/StringHasher.h: Copied from WebCore/ForwardingHeaders/wtf/StringHashFunctions.h. 
697  
698 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
699
700         Reviewed by Darin Adler.
701
702         unlink removes inline style of anchor elements
703         https://bugs.webkit.org/show_bug.cgi?id=47424
704
705         The bug was caused by our not extracting styles when the anchor element is removed by removeInlineStyle.
706         Because we removed the element without pushing its inline style down, we lost style information.
707
708         Fixed the bug by pushing down styles in removeInlineStyle as done in pushDownInlineStyleAroundNode.
709         Also fixed a bug in addInlineStyleIfNeeded where StyleChange incorrectly removed styles of the container
710         node as supposed to that of startNode from the style to apply when startNode is not an element.
711
712         Test: editing/execCommand/toggle-unlink.html
713
714         * editing/ApplyStyleCommand.cpp:
715         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): To prevent a similar bug in the future,
716         added an assert that extractedStyle is specified whenever we're removing a styled element.
717         (WebCore::ApplyStyleCommand::removeInlineStyle):
718         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
719
720 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
721
722         Reviewed by Tony Chang.
723
724         serializeNodesWithNamespaces should be in MarkupAccumulator
725         https://bugs.webkit.org/show_bug.cgi?id=47749
726
727         Moved serializeNodesWithNamespaces to MarkupAccumulator, and renamed it to serializeNodes.
728         MarkupAccumulator::serializeNode now returns the resultant string instead of having a separate takeResults().
729         Added several helper functions to MarkupAccumulator.
730
731         No new tests are added since this is a cleanup.
732
733         * editing/MarkupAccumulator.cpp:
734         (WebCore::MarkupAccumulator::serializeNodes): Wrapper for serializeNodes and concatenateMarkup.
735         (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Moved from markup.cpp
736         (WebCore::MarkupAccumulator::appendStartTag): Calls appendString instead of appending into m_succeedingMarkup directly.
737         (WebCore::MarkupAccumulator::appendEndTag): Ditto.
738         (WebCore::MarkupAccumulator::totalLength): Added; extracted from takeResults.
739         (WebCore::MarkupAccumulator::concatenateMarkup): Ditto.
740         * editing/MarkupAccumulator.h:
741         (WebCore::MarkupAccumulator::length): Added; calls totalLength.
742         * editing/markup.cpp:
743         (WebCore::StyledMarkupAccumulator::appendString): Added; calls MarkupAccumulator's appendString.
744         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendString.
745         (WebCore::StyledMarkupAccumulator::takeResults): Calls length, totalLength, and concatenateMarkup.
746         (WebCore::StyledMarkupAccumulator::serializeNodes): Became a member function.
747         (WebCore::createMarkup): Uses MarkupAccumulator.
748
749 2010-10-15  Kinuko Yasuda  <kinuko@google.com>
750
751         Reviewed by Jian Li.
752
753         Implement FileEntrySync.file() in FileSystem API
754         https://bugs.webkit.org/show_bug.cgi?id=47310
755
756         Tests: fast/filesystem/workers/file-from-file-entry-sync.html
757                fast/filesystem/workers/file-from-file-entry.html
758
759         * fileapi/DOMFileSystem.cpp:
760         (WebCore::DOMFileSystem::createFile): Added.
761         * fileapi/DOMFileSystem.h:
762         * fileapi/DOMFileSystemSync.cpp:
763         (WebCore::DOMFileSystemSync::createFile): Added.
764         * fileapi/DOMFileSystemSync.h:
765         * fileapi/DirectoryReaderBase.h: Added 'virtual path' comment.
766         * fileapi/EntryBase.h: Added 'virtual path' comment.
767         * fileapi/FileEntry.cpp:
768         (WebCore::FileEntry::file): Changed to use DOMFileSystem::createFile.
769         * fileapi/FileEntrySync.cpp:
770         (WebCore::FileEntrySync::file): Implemented.
771         * fileapi/FileEntrySync.h:
772         * fileapi/FileEntrySync.idl: Added file().
773
774 2010-10-15  Nico Weber  <thakis@chromium.org>
775
776         Reviewed by Eric Carlson.
777
778         Make sure to update the current graphics context when calling out to AppKit.
779         https://bugs.webkit.org/show_bug.cgi?id=47757
780
781         Like r57741, but for the spellchecking highlight
782
783         * platform/graphics/mac/GraphicsContextMac.mm:
784         (WebCore::GraphicsContext::drawLineForTextChecking):
785
786 2010-10-15  Brian Weinstein  <bweinstein@apple.com>
787
788         Reviewed by Sam Weinig.
789
790         REGRESSION(r69850) Loading apple.com/startpage in WebKit on Windows gets a bad request.
791         https://bugs.webkit.org/show_bug.cgi?id=47753
792         <rdar://problem/8558242>
793         
794         r69850 switched over to a different way of concatenating WebCore strings, but ran into an issue
795         where some Windows calls were returning null terminated strings, and this breaks the new
796         method of concatenation.
797         
798         GetLocaleInfo returns a null-terminated string, but WebCore strings are non-null terminated,
799         so once we create our WebCore string, we want to trim off the null terminating character before
800         we return the localeInfo.
801
802         Test: fast/dom/navigator-userAgent.html
803
804         * platform/win/Language.cpp:
805         (WebCore::localeInfo):
806
807 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
808
809         Trying to fix crashes on Leopard buildbot.
810
811         * loader/loader.cpp:
812         (WebCore::Loader::Host::didFinishLoading):
813         (WebCore::Loader::Host::didFail):
814         Moved logging higher in the function - it seems that CachedResource can be already destroyed.
815
816         * platform/Logging.cpp: (WebCore::getChannelFromName):
817         * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
818         Initialize the new channel (oops).
819
820 2010-10-15  Mike Lawther  <mikelawther@chromium.org>
821
822         Reviewed by James Robinson.
823
824         Prevent scrollbars from appearing in iframes with scrolling=no
825         when the embedded content has overflow:scroll set on the html
826         or body tags.
827
828         iframes keep getting scrollbars with scrolling="no"
829         https://bugs.webkit.org/show_bug.cgi?id=29240
830
831         Test: fast/frames/iframe-scrolling-attribute-overflowscroll.html
832
833         * page/FrameView.cpp:
834         (WebCore::FrameView::calculateScrollbarModesForLayout)
835         (WebCore::FrameView::updateCanHaveScrollbars):
836         (WebCore::FrameView::layout):
837         * page/FrameView.h:
838         (WebCore::FrameView::calculateScrollbarModesForLayout)
839
840 2010-10-15  Dan Bernstein  <mitz@apple.com>
841
842         Reviewed by Adele Peterson.
843
844         Clean up RenderFlexibleBox::applyLineClamp()
845         https://bugs.webkit.org/show_bug.cgi?id=47743
846
847         * rendering/RenderFlexibleBox.cpp:
848         (WebCore::RenderFlexibleBox::applyLineClamp):
849
850 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
851
852         Reviewed by Darin Adler.
853
854         https://bugs.webkit.org/show_bug.cgi?id=47736
855         <rdar://problem/8429396> WebCore cache gets corrupted if revalidation request starts at an inopportune time
856
857         Test: http/tests/cache/stopped-revalidation.html
858
859         * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): Copied logic for
860         revalidation requests from didFail().
861
862 2010-10-15  Alexey Proskuryakov  <ap@apple.com>
863
864         Reviewed by Darin Adler in <https://bugs.webkit.org/show_bug.cgi?id=47736>.
865
866         Add a logging channel for WebCore cache and resource loading.
867
868         Test: http/tests/cache/stopped-revalidation.html
869
870         * platform/Logging.cpp:
871         * platform/Logging.h:
872         Added a logging channel for Cache and Loader.
873
874         * loader/Cache.cpp:
875         (WebCore::Cache::requestResource):
876         (WebCore::Cache::revalidateResource):
877         (WebCore::Cache::revalidationFailed):
878         (WebCore::Cache::evict):
879         * loader/CachedResource.cpp:
880         (WebCore::CachedResource::setResourceToRevalidate):
881         (WebCore::CachedResource::switchClientsToRevalidatedResource):
882         (WebCore::CachedResource::mustRevalidate):
883         Added logging.
884
885         * loader/loader.cpp:
886         (WebCore::Loader::load): Added logging.
887         (WebCore::Loader::scheduleServePendingRequests): Ditto.
888         (WebCore::Loader::requestTimerFired): Ditto.
889         (WebCore::Loader::servePendingRequests): Ditto.
890         (WebCore::Loader::Host::servePendingRequests):  Changed logging to use the new channel.
891         (WebCore::Loader::Host::didFinishLoading): Changed logging to use the new channel.
892         (WebCore::Loader::Host::didFail): Added logging.
893
894 2010-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
895
896         Reviewed by Simon Fraser.
897
898         Add public functions to serialize TransformOperations.
899         https://bugs.webkit.org/show_bug.cgi?id=47728
900
901         Added public accessors to the internal data of the TransformOperations.
902
903         No new tests. These functions are enablers for WebKit2.
904
905         * platform/graphics/transforms/Matrix3DTransformOperation.h:
906         (WebCore::Matrix3DTransformOperation::matrix):
907         * platform/graphics/transforms/MatrixTransformOperation.h:
908         (WebCore::MatrixTransformOperation::matrix):
909         * platform/graphics/transforms/PerspectiveTransformOperation.h:
910         (WebCore::PerspectiveTransformOperation::perspective):
911         * platform/graphics/transforms/RotateTransformOperation.h:
912         (WebCore::RotateTransformOperation::x):
913         (WebCore::RotateTransformOperation::y):
914         (WebCore::RotateTransformOperation::z):
915         * platform/graphics/transforms/SkewTransformOperation.h:
916         (WebCore::SkewTransformOperation::angleX):
917         (WebCore::SkewTransformOperation::angleY):
918         * platform/graphics/transforms/TranslateTransformOperation.h:
919         (WebCore::TranslateTransformOperation::x):
920         (WebCore::TranslateTransformOperation::y):
921         (WebCore::TranslateTransformOperation::z):
922
923 2010-10-15  Jian Li  <jianli@chromium.org>
924
925         Reviewed by Dmitry Titov.
926
927         FileReader.readAsDataURL should take Blob object
928         https://bugs.webkit.org/show_bug.cgi?id=47679
929
930         Test cases have been added into read-blob-test-cases.js.
931
932         * fileapi/FileReader.idl: Update per the latest File API spec.
933
934 2010-10-15  Adam Barth  <abarth@webkit.org>
935
936         Reviewed by Eric Seidel.
937
938         Move MarkupAccumulator from markup.cpp to its own file
939         https://bugs.webkit.org/show_bug.cgi?id=47734
940
941         This patch moves the MarkupAccumulator class into its own file.
942         There's a lot of clean up left to do, but this patch is a step in the
943         right direction.
944
945         No behavior change.
946
947         * Android.mk:
948         * CMakeLists.txt:
949         * GNUmakefile.am:
950         * WebCore.gypi:
951         * WebCore.pro:
952         * WebCore.vcproj/WebCore.vcproj:
953         * WebCore.xcodeproj/project.pbxproj:
954         * editing/markup.cpp:
955         (WebCore::elementCannotHaveEndTag):
956         * editing/markup.h:
957         * editing/MarkupAccumulator.h: Added.
958         * editing/MarkupAccumulator.cpp: Added.
959
960 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
961
962         Reviewed by Darin Adler.
963
964         Match the elements supported by execCommand('formatBlock') and queryCommandValue('formatBlock')
965         https://bugs.webkit.org/show_bug.cgi?id=47712
966
967         Extended queryCommandValue('formatBlock', false, null) to support article, aside, blockquote, dd, dl,
968         div, dl, dt, dl, footer, header, hgroup, nav, and section. Because this makes isElementForFormatBlockCommand
969         in Editor.cpp and FormatBlockCommand::isElementToApplyInFormatBlockCommand identical, they are merged and moved
970         to FormatBlockCommand.cpp
971
972         Tests are added to editing/execCommand/query-format-block.html
973
974         * editing/Editor.cpp: Removed isElementForFormatBlockCommand and Editor::elementForFormatBlockCommand.
975         * editing/Editor.h:
976         * editing/EditorCommand.cpp:
977         (WebCore::executeFormatBlock): Removed the check of tag name; the check is moved into FormatBlockCommand.
978         (WebCore::valueFormatBlock): Calls FormatBlockCommand::elementForFormatBlockCommand.
979         * editing/FormatBlockCommand.cpp:
980         (WebCore::isElementForFormatBlock):
981         (WebCore::FormatBlockCommand::FormatBlockCommand):
982         (WebCore::FormatBlockCommand::formatSelection): Added to check the tag name. Exit early if the specified tag name
983         is not what FormatBlock should apply. Set m_didApply true if m_didApply did apply the element.
984         (WebCore::FormatBlockCommand::formatRange): Moved from Editor.cpp.  Takes Range* instead of accessing selection directly.
985         (WebCore::FormatBlockCommand::elementForFormatBlockCommand): Moved from Editor.cpp
986         (WebCore::enclosingBlockToSplitTreeTo): Calls isElementForFormatBlock.
987         * editing/FormatBlockCommand.h:
988         (WebCore::FormatBlockCommand::didApply): Added.
989
990 2010-10-15  Dirk Schulze  <krit@webkit.org>
991
992         Reviewed by Nikolas Zimmermann.
993
994         carto.net Dock example redraws *way* too often
995         https://bugs.webkit.org/show_bug.cgi?id=16090
996
997         Setting the attributes x, y, width or height shouldn't cause a repaint if the image boundaries don't change.
998         Added updateFromElement() to RenderSVGImage that checks if the old boundaries match the new boundaries after
999         setting one of the attributes of above. Mark renderer for layout (and therefore repaint) if the boundaries
1000         differ, do nothing if not.
1001         Also added caching of the repaint rect to avoid multiple calculations.
1002
1003         Test: svg/custom/repaint-on-constant-size-change.svg
1004
1005         * rendering/RenderSVGImage.cpp:
1006         (WebCore::RenderSVGImage::RenderSVGImage):
1007         (WebCore::RenderSVGImage::layout): Update repaint rect on layout.
1008         (WebCore::RenderSVGImage::updateFromElement): Check SVGImageElement for boundaries update.
1009         * rendering/RenderSVGImage.h:
1010         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): Return the cached repaint rect.
1011         * svg/SVGImageElement.cpp:
1012         (WebCore::SVGImageElement::svgAttributeChanged): Call updateFromElement() on changes to x, y, width or height.
1013
1014 2010-10-15  Martin Robinson  <mrobinson@igalia.com>
1015
1016         Build fix for GTK+.
1017
1018         * platform/network/soup/cache/webkit/soup-cache.h: Do not use PLATFORM(...) macro
1019         in a file that does not include config.h
1020
1021 2010-10-15  Anders Carlsson  <andersca@apple.com>
1022
1023         Reviewed by Sam Weinig.
1024
1025         Add FindIndicatorWindow class
1026         https://bugs.webkit.org/show_bug.cgi?id=47731
1027
1028         Export symbols needed by the FindIndicator in WebKit2.
1029
1030         * WebCore.exp.in:
1031
1032 2010-10-15  Leandro Pereira  <leandro@profusion.mobi>
1033
1034         [EFL] Unreviewed. Build fix.
1035
1036         Add new files needed by the Soup network backend, and #ifdef a
1037         GTK+-port only include in soup-cache.h.
1038
1039         * CMakeListsEfl.txt:
1040         * platform/network/soup/cache/webkit/soup-cache.h:
1041
1042 2010-10-14  Darin Adler  <darin@apple.com>
1043
1044         Reviewed by Alexey Proskuryakov.
1045
1046         Use more specific types for node pointers, especially when calling node insertion and removal functions
1047         https://bugs.webkit.org/show_bug.cgi?id=47702
1048
1049         Refactoring. No new tests.
1050
1051         While developing this patch I temporarily removed the node insertion and
1052         removal member functions from the Node class and fixed almost all call sites
1053         so they call it directly on the ContainerNode class, which will be important
1054         once we make the functions non-virtual.
1055
1056         * css/CSSStyleSelector.cpp:
1057         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1058         * dom/ContainerNode.cpp:
1059         (WebCore::ContainerNode::insertBefore):
1060         (WebCore::ContainerNode::replaceChild):
1061         (WebCore::ContainerNode::appendChild):
1062         * dom/Document.cpp:
1063         (WebCore::Document::caretRangeFromPoint):
1064         * dom/DynamicNodeList.cpp:
1065         (WebCore::DynamicNodeList::itemWithName):
1066         * dom/Position.cpp:
1067         (WebCore::Position::previous):
1068         (WebCore::Position::next):
1069         * dom/Text.cpp:
1070         (WebCore::Text::replaceWholeText):
1071         * dom/TreeWalker.cpp:
1072         (WebCore::TreeWalker::firstChild):
1073         (WebCore::TreeWalker::lastChild):
1074         (WebCore::TreeWalker::previousNode):
1075         * dom/XMLDocumentParserLibxml2.cpp:
1076         (WebCore::XMLDocumentParser::XMLDocumentParser):
1077         * editing/BreakBlockquoteCommand.cpp:
1078         (WebCore::BreakBlockquoteCommand::doApply):
1079         * editing/CompositeEditCommand.h:
1080         * editing/DeleteButtonController.cpp:
1081         (WebCore::isDeletableElement):
1082         * editing/IndentOutdentCommand.cpp:
1083         (WebCore::IndentOutdentCommand::outdentParagraph):
1084         * editing/InsertNodeBeforeCommand.cpp:
1085         (WebCore::InsertNodeBeforeCommand::doApply):
1086         * editing/JoinTextNodesCommand.cpp:
1087         (WebCore::JoinTextNodesCommand::doApply):
1088         (WebCore::JoinTextNodesCommand::doUnapply):
1089         * editing/MergeIdenticalElementsCommand.cpp:
1090         (WebCore::MergeIdenticalElementsCommand::doUnapply):
1091         * editing/RemoveNodeCommand.cpp:
1092         (WebCore::RemoveNodeCommand::doApply):
1093         (WebCore::RemoveNodeCommand::doUnapply):
1094         * editing/RemoveNodeCommand.h:
1095         * editing/SplitElementCommand.cpp:
1096         (WebCore::SplitElementCommand::executeApply):
1097         * editing/SplitTextNodeCommand.cpp:
1098         (WebCore::SplitTextNodeCommand::doApply):
1099         (WebCore::SplitTextNodeCommand::doReapply):
1100         * editing/TextIterator.cpp:
1101         (WebCore::parentCrossingShadowBoundaries):
1102         * editing/htmlediting.cpp:
1103         (WebCore::enclosingList):
1104         * editing/markup.cpp:
1105         (WebCore::serializeNodes):
1106         (WebCore::ancestorToRetainStructureAndAppearance):
1107         (WebCore::createMarkup):
1108         * html/HTMLAreaElement.cpp:
1109         (WebCore::HTMLAreaElement::updateFocusAppearance):
1110         * html/HTMLEmbedElement.cpp:
1111         (WebCore::HTMLEmbedElement::rendererIsNeeded):
1112         * html/HTMLFormElement.cpp:
1113         (WebCore::HTMLFormElement::rendererIsNeeded):
1114         * html/HTMLFrameSetElement.cpp:
1115         (WebCore::HTMLFrameSetElement::attach):
1116         * html/HTMLImageElement.cpp:
1117         (WebCore::HTMLImageElement::insertedIntoTree):
1118         * html/HTMLLegendElement.cpp:
1119         (WebCore::HTMLLegendElement::associatedControl):
1120         * html/HTMLOptGroupElement.cpp:
1121         (WebCore::HTMLOptGroupElement::recalcSelectOptions):
1122         (WebCore::HTMLOptGroupElement::ownerSelectElement):
1123         * html/HTMLOptionElement.cpp:
1124         (WebCore::HTMLOptionElement::ownerSelectElement):
1125         * html/HTMLTableCellElement.cpp:
1126         (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
1127         * html/HTMLTableColElement.cpp:
1128         (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
1129         * html/HTMLTableElement.cpp:
1130         (WebCore::HTMLTableElement::insertRow):
1131         * html/HTMLTableRowElement.cpp:
1132         (WebCore::HTMLTableRowElement::rowIndex):
1133         * html/HTMLTableSectionElement.cpp:
1134         (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
1135         * page/DOMSelection.cpp:
1136         (WebCore::DOMSelection::getRangeAt):
1137         (WebCore::DOMSelection::containsNode):
1138         * rendering/RenderSVGGradientStop.cpp:
1139         (WebCore::RenderSVGGradientStop::gradientElement):
1140         * svg/SVGElement.cpp:
1141         (WebCore::SVGElement::ownerSVGElement):
1142         (WebCore::SVGElement::viewportElement):
1143         * svg/SVGFELightElement.cpp:
1144         (WebCore::SVGFELightElement::svgAttributeChanged):
1145         (WebCore::SVGFELightElement::childrenChanged):
1146         * svg/SVGFEMergeNodeElement.cpp:
1147         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
1148         * svg/SVGFontFaceFormatElement.cpp:
1149         (WebCore::SVGFontFaceFormatElement::childrenChanged):
1150         * svg/SVGFontFaceUriElement.cpp:
1151         (WebCore::SVGFontFaceUriElement::childrenChanged):
1152         * svg/SVGGlyphElement.cpp:
1153         (WebCore::SVGGlyphElement::invalidateGlyphCache):
1154         * svg/SVGHKernElement.cpp:
1155         (WebCore::SVGHKernElement::insertedIntoDocument):
1156         (WebCore::SVGHKernElement::removedFromDocument):
1157         * svg/SVGLocatable.cpp:
1158         (WebCore::SVGLocatable::nearestViewportElement):
1159         (WebCore::SVGLocatable::farthestViewportElement):
1160         * svg/SVGUseElement.cpp:
1161         (WebCore::SVGUseElement::updateContainerOffsets):
1162         * svg/SVGVKernElement.cpp:
1163         (WebCore::SVGVKernElement::insertedIntoDocument):
1164         (WebCore::SVGVKernElement::removedFromDocument):
1165         * svg/animation/SVGSMILElement.cpp:
1166         (WebCore::SVGSMILElement::targetElement):
1167         * wml/WMLDoElement.cpp:
1168         (WebCore::WMLDoElement::insertedIntoDocument):
1169         (WebCore::WMLDoElement::removedFromDocument):
1170         * wml/WMLNoopElement.cpp:
1171         (WebCore::WMLNoopElement::insertedIntoDocument):
1172         * wml/WMLOptionElement.cpp:
1173         (WebCore::ownerSelectElement):
1174         * wml/WMLPostfieldElement.cpp:
1175         (WebCore::WMLPostfieldElement::insertedIntoDocument):
1176         (WebCore::WMLPostfieldElement::removedFromDocument):
1177         * wml/WMLSetvarElement.cpp:
1178         (WebCore::WMLSetvarElement::insertedIntoDocument):
1179         (WebCore::WMLSetvarElement::removedFromDocument):
1180         * wml/WMLTaskElement.cpp:
1181         (WebCore::WMLTaskElement::insertedIntoDocument):
1182         (WebCore::WMLTaskElement::removedFromDocument):
1183         * wml/WMLTimerElement.cpp:
1184         (WebCore::WMLTimerElement::insertedIntoDocument):
1185         (WebCore::WMLTimerElement::removedFromDocument):
1186         * xml/XPathStep.cpp:
1187         (WebCore::XPath::Step::nodesInAxis):
1188         Use ContainerNode* for the result of the parentNode function now that
1189         it returns a ContainerNode*. In the past it used to return just Node*.
1190
1191         * dom/ContainerNode.h: Added toContainerNode.
1192
1193         * dom/Element.h: Use ContainerNode*. Added toElement.
1194
1195         * dom/Element.cpp:
1196         (WebCore::Element::deprecatedCreateContextualFragment): Explcitly
1197         cast to HTMLElement* in the case that handles <html> and <body>
1198         elements.
1199         (WebCore::Element::baseURI): Use ContainerNode*.
1200
1201         * dom/Node.cpp:
1202         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Use ContainerNode*.
1203         (WebCore::Node::isDescendantOf): Ditto.
1204         (WebCore::Node::createRendererIfNeeded): Ditto.
1205         (WebCore::Node::setTextContent): Use already-typecast pointer in a call to
1206         appendChild.
1207         (WebCore::Node::ancestorElement): Use ContainerNode*.
1208
1209         * dom/Range.cpp:
1210         (WebCore::Range::compareNode): Use ContainerNode*.
1211         (WebCore::Range::intersectsNode): Ditto.
1212         (WebCore::Range::processContents): Cast to ContainerNode* in a couple cases
1213         where we previously checked that the node in question has a child. Any node
1214         that returns a non-zero value for firstChild is a ContainerNode.
1215         (WebCore::Range::checkNodeBA): Ditto.
1216         (WebCore::Range::selectNode): Ditto.
1217         (WebCore::Range::surroundContents): Ditto.
1218
1219         * dom/XMLDocumentParser.cpp:
1220         (WebCore::XMLDocumentParser::insertErrorMessageBlock): Rewrote code to use
1221         more specific types, document instead of doc, and paragraph instead of par.
1222
1223         * editing/ApplyStyleCommand.cpp:
1224         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
1225         Use ContainerNode*.
1226         (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
1227         Use replaceElementWithSpanPreservingChildrenAndAttributes; the old function
1228         took a Node argument and had Node in its name.
1229
1230         * editing/CompositeEditCommand.cpp:
1231         (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Use ContainerNode.
1232         (WebCore::CompositeEditCommand::replaceElementWithSpanPreservingChildrenAndAttributes):
1233         Renamed and changed to take HTMLElement. Also use ContainerNode.
1234         (WebCore::CompositeEditCommand::prune): Ditto.
1235         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
1236         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Ditto.
1237
1238         * editing/ReplaceNodeWithSpanCommand.cpp:
1239         (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): Take an
1240         HTMLElement instead of a Node. Call it m_elementToReplace instead of m_node.
1241         (WebCore::swapInNodePreservingAttributesAndChildren): Take HTMLElement.
1242         (WebCore::ReplaceNodeWithSpanCommand::doApply): Updated for name changes.
1243         (WebCore::ReplaceNodeWithSpanCommand::doUnapply): Ditto.
1244         * editing/ReplaceNodeWithSpanCommand.h: Ditto.
1245
1246         * editing/ReplaceSelectionCommand.cpp:
1247         (WebCore::ReplacementFragment::ReplacementFragment): Use StyledElement for result
1248         of insertFragmentForTestRendering since that's what it returns.
1249         (WebCore::ReplacementFragment::removeNode): Use ContainerNode.
1250         (WebCore::ReplacementFragment::insertNodeBefore): Ditto.
1251         (WebCore::ReplacementFragment::insertFragmentForTestRendering): Return StyledElement.
1252         Use HTMLElement for body.
1253         (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment): Take
1254         StyledElement.
1255         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Use ContainerNode.
1256         (WebCore::ReplaceSelectionCommand::copyStyleToChildren): Use HTMLElement for
1257         the cloned span, since the clone will be a sspan too.
1258         (WebCore::ReplaceSelectionCommand::insertAsListItems): Use ContainerNode since
1259         the list item has a child, and that proves it is a ContainerNode.
1260
1261         * editing/SelectionController.cpp:
1262         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
1263         Use ContainerNode and also removed an unnneded local variable.
1264
1265         * html/HTMLElement.cpp:
1266         (WebCore::HTMLElement::setOuterText): Use ContainerNode.
1267         (WebCore::HTMLElement::insertAdjacent): Use ContainerNode and also use && to make
1268         the logic a little simpler.
1269         (WebCore::contextElementForInsertion): Use ContainerNode.
1270         (WebCore::HTMLElement::findFormAncestor): Ditto.
1271
1272         * inspector/InspectorDOMAgent.cpp:
1273         (WebCore::InspectorDOMAgent::removeNode): Use ContainerNode.
1274         (WebCore::InspectorDOMAgent::changeTagName): Ditto.
1275         (WebCore::InspectorDOMAgent::setOuterHTML): Ditto.
1276         (WebCore::InspectorDOMAgent::innerParentNode): Use isDocumentNode instead of
1277         nodeType. We should almost never use nodeType inside the engine.
1278         (WebCore::InspectorDOMAgent::didInsertDOMNode): Use ContainerNode.
1279         (WebCore::InspectorDOMAgent::didRemoveDOMNode): Ditto.
1280
1281         * wml/WMLOptGroupElement.cpp: Removed unneeded overrides of insertBefore,
1282         replaceChild, removeChild, appendChild, and removeChildren functions.
1283         Ths already overrides childrenChanged, that is called by all of the above,
1284         and it does the same thing these functions did.
1285         (WebCore::ownerSelectElement): Use ContainerNode.
1286         * wml/WMLOptGroupElement.h: Ditto.
1287
1288 2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
1289
1290         Reviewed by Darin Adler.
1291
1292         Crash in WebCore::ApplyStyleCommand::applyBlockStyle
1293         https://bugs.webkit.org/show_bug.cgi?id=47699
1294
1295         The crash was caused by applyBlockStyle's invalidly assuming that visibleStart and visibleEnd always exist.
1296         Added an early exit to the function when either visibleStart or visibleEnd is null or orphaned.
1297
1298         Test: editing/style/block-style-progress-crash.html
1299
1300         * editing/ApplyStyleCommand.cpp:
1301         (WebCore::ApplyStyleCommand::applyBlockStyle):
1302
1303 2010-10-13  Anders Carlsson  <andersca@apple.com>
1304
1305         Reviewed by Sam Weinig.
1306
1307         Add a FindIndicator class
1308         https://bugs.webkit.org/show_bug.cgi?id=47635
1309
1310         Make Gradient.h and Generator.h private headers; they're used by WebKit2.
1311
1312         * WebCore.xcodeproj/project.pbxproj:
1313
1314 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
1315
1316         Reviewed by Gustavo Noronha Silva.
1317
1318         [Soup] Should not ignore body for redirection responses
1319         https://bugs.webkit.org/show_bug.cgi?id=29299
1320
1321         Body is now provided to WebKitGtk+ in some redirections (like 302)
1322         because it could be used by servers to perform clunky redirections
1323         for example using http-equiv=REFRESH
1324
1325         Test: http/tests/navigation/redirect302-metaredirect.html
1326
1327         * platform/network/soup/ResourceHandleSoup.cpp:
1328         (WebCore::gotHeadersCallback):
1329         (WebCore::finishedCallback):
1330
1331 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
1332
1333         Reviewed by Martin Robinson.
1334
1335         [GTK] Fix introspection support
1336         https://bugs.webkit.org/show_bug.cgi?id=47723
1337
1338         WebKitSoupCacheType was incorrectly registered twice. Renamed to
1339         WebKitSoupCacheTypeType for the enumerated type.
1340
1341         * platform/network/soup/cache/webkit/soup-cache.c:
1342         (webkit_soup_cache_type_get_type):
1343
1344 2010-10-15  Ilya Tikhonovsky  <loislo@chromium.org>
1345
1346         Reviewed by Yury Semikhatsky.
1347
1348         Web Inspector: extract consoleMessages related stuff from populateScriptObjects into separate function.
1349
1350         This is a part of Inspector protocol sanitization activity.
1351         We want to populate console messages only if it is required by frontend.
1352
1353         https://bugs.webkit.org/show_bug.cgi?id=46802
1354
1355         * inspector/Inspector.idl:
1356         * inspector/InspectorController.cpp:
1357         (WebCore::InspectorController::setConsoleMessagesEnabled):
1358         (WebCore::InspectorController::addConsoleMessage):
1359         (WebCore::InspectorController::disconnectFrontend):
1360         (WebCore::InspectorController::populateScriptObjects):
1361         * inspector/InspectorController.h:
1362         * inspector/InspectorState.cpp:
1363         (WebCore::InspectorState::InspectorState):
1364         * inspector/InspectorState.h:
1365         * inspector/front-end/inspector.js:
1366         (WebInspector.doLoadedDone):
1367
1368 2010-10-15  Ryuan Choi  <ryuan.choi@samsung.com>
1369
1370         Reviewed by Nikolas Zimmermann.
1371
1372         [EFL] REGRESSION(69798) UCHAR can't be converted to String.
1373         https://bugs.webkit.org/show_bug.cgi?id=47698
1374
1375         Create String value using String(const char*, 1) instead of operator[].
1376
1377         No tests. No functionality changed.
1378
1379         * platform/efl/PlatformKeyboardEventEfl.cpp:
1380         (WebCore::createWindowsKeyMap):
1381
1382 2010-10-15  Sergio Villar Senin  <svillar@igalia.com>
1383
1384         Reviewed by Xan Lopez.
1385
1386         [GTK] Do a stricter check for invalid base64 dataURLs
1387         https://bugs.webkit.org/show_bug.cgi?id=47717
1388
1389         Restore the strict base64 decoding we added in
1390         https://bugs.webkit.org/show_bug.cgi?id=44261 and then rolled back
1391         in https://bugs.webkit.org/show_bug.cgi?id=47666 due to a failing
1392         test. The actual issue was that we were not finishing the load of
1393         the resource gracefully when an error happened.
1394
1395         Loading invalid base64-encoded data:// URLs are now handled
1396         properly.
1397
1398         * platform/network/soup/ResourceHandleSoup.cpp:
1399         (WebCore::parseDataUrl):
1400         * platform/network/soup/cache/soup-request-data.c:
1401         (webkit_soup_request_data_send):
1402
1403 2010-10-15  Alejandro G. Castro  <alex@igalia.com>
1404
1405         Reviewed by Martin Robinson.
1406
1407         compile fail with gtk >= 2.22
1408         https://bugs.webkit.org/show_bug.cgi?id=47483
1409
1410         * platform/graphics/gtk/FontGtk.cpp: Removed the shrink operation,
1411         it was added long time ago and currently it is not adding any real
1412         area to the clip vertically, actually the gtk3 shrink version did
1413         not work.
1414         (WebCore::Font::drawComplexText):
1415         * platform/gtk/gtk2drawing.c: Undef the deprecation flags, this
1416         file is full of gtk2 stuff, and it does not seem interesting to
1417         upgrade because we are already creating a new version of the file
1418         for gtk3.
1419
1420 2010-10-14  Ilya Tikhonovsky  <loislo@chromium.org>
1421
1422         Reviewed by Pavel Feldman.
1423
1424         Web Inspector: inspector settings/properties/states management
1425         should be extracted into separate class.
1426
1427         We have a lot of flags/values in InspectorController.
1428         Some flags are persisting into profile.
1429         Others are part of inspector state for frontend.
1430         All these flags should keep their values after navigation.
1431         It'd be better to extract these flags/values into separate
1432         class which will care about theirs lifetime.
1433
1434         https://bugs.webkit.org/show_bug.cgi?id=47275
1435
1436         * CMakeLists.txt:
1437         * GNUmakefile.am:
1438         * WebCore.exp.in:
1439         * WebCore.gypi:
1440         * WebCore.pro:
1441         * WebCore.vcproj/WebCore.vcproj:
1442         * WebCore.xcodeproj/project.pbxproj:
1443         * inspector/InspectorController.cpp:
1444         (WebCore::InspectorController::InspectorController):
1445         (WebCore::InspectorController::inspectorStartsAttached):
1446         (WebCore::InspectorController::setInspectorStartsAttached):
1447         (WebCore::InspectorController::setInspectorAttachedHeight):
1448         (WebCore::InspectorController::inspectorAttachedHeight):
1449         (WebCore::InspectorController::searchingForNodeInPage):
1450         (WebCore::InspectorController::resourceTrackingEnabled):
1451         (WebCore::InspectorController::saveApplicationSettings):
1452         (WebCore::InspectorController::getInspectorState):
1453         (WebCore::InspectorController::restoreInspectorStateFromCookie):
1454         (WebCore::InspectorController::getSettings):
1455         (WebCore::InspectorController::storeLastActivePanel):
1456         (WebCore::InspectorController::mouseDidMoveOverElement):
1457         (WebCore::InspectorController::handleMousePress):
1458         (WebCore::InspectorController::setSearchingForNode):
1459         (WebCore::InspectorController::setMonitoringXHREnabled):
1460         (WebCore::InspectorController::showPanel):
1461         (WebCore::InspectorController::disconnectFrontend):
1462         (WebCore::InspectorController::populateScriptObjects):
1463         (WebCore::InspectorController::restoreDebugger):
1464         (WebCore::InspectorController::restoreProfiler):
1465         (WebCore::InspectorController::getTrackedResource):
1466         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1467         (WebCore::InspectorController::identifierForInitialRequest):
1468         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1469         (WebCore::InspectorController::scriptImported):
1470         (WebCore::InspectorController::setResourceTrackingEnabled):
1471         (WebCore::InspectorController::ensureSettingsLoaded):
1472         (WebCore::InspectorController::startTimelineProfiler):
1473         (WebCore::InspectorController::stopTimelineProfiler):
1474         (WebCore::InspectorController::enableProfiler):
1475         (WebCore::InspectorController::disableProfiler):
1476         (WebCore::InspectorController::enableDebuggerFromFrontend):
1477         (WebCore::InspectorController::disableDebugger):
1478         (WebCore::InspectorController::loadBreakpoints):
1479         (WebCore::InspectorController::saveBreakpoints):
1480         * inspector/InspectorController.h:
1481         * inspector/InspectorFrontendClientLocal.cpp:
1482         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
1483         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
1484         * inspector/InspectorState.cpp: Added.
1485         (WebCore::InspectorState::InspectorState):
1486         (WebCore::InspectorState::restoreFromInspectorCookie):
1487         (WebCore::InspectorState::generateStateObjectForFrontend):
1488         (WebCore::InspectorState::loadFromSettings):
1489         (WebCore::InspectorState::updateCookie):
1490         (WebCore::InspectorState::setValue):
1491         (WebCore::InspectorState::getBoolean):
1492         (WebCore::InspectorState::getString):
1493         (WebCore::InspectorState::getLong):
1494         (WebCore::InspectorState::registerBoolean):
1495         (WebCore::InspectorState::registerString):
1496         (WebCore::InspectorState::registerLong):
1497         (WebCore::InspectorState::Property::create):
1498         * inspector/InspectorState.h: Added.
1499         (WebCore::InspectorState::setBoolean):
1500         (WebCore::InspectorState::setString):
1501         (WebCore::InspectorState::setLong):
1502
1503 2010-10-14  Jia Pu  <jpu@apple.com>
1504
1505         Reviewed by Adele Peterson.
1506
1507         REGRESSION (r69548): Autocorrections are applied even after typing further characters in the word
1508         https://bugs.webkit.org/show_bug.cgi?id=47689
1509         <rdar://problem/8552250>
1510
1511         The test requires using setTimeout(). So we put it in manual-tests.
1512
1513         * editing/Editor.cpp:
1514         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Relpace release() with clear().
1515         (WebCore::Editor::startCorrectionPanelTimer): Release previously set correction range before
1516           start timer for next autocorrection check.
1517         * manual-tests/autocorrection: Added.
1518         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Added.
1519
1520 2010-10-14  Ryosuke Niwa  <rniwa@webkit.org>
1521
1522         Reviewed by Tony Chang and Darin Adler.
1523
1524         execCommand FormatBlock creates lots of blockquotes
1525         https://bugs.webkit.org/show_bug.cgi?id=19795
1526
1527         The bug was caused by WebKit's not reusing the block node added by previous iteration
1528         and its inserting block node at wrong places.
1529
1530         Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
1531         IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
1532         avoids the existing block elements when replacing blocks and it also adds a placeholder
1533         when removing the existing block caused paragraphs to collapse.
1534
1535         Also fixed a bug in moveParagraphWithClones where erroneous br is added to the start of
1536         the block element to which the paragraph is moved if the block element is the start of a paragraph
1537         and not the end of a paragraph.
1538
1539         Tests: editing/execCommand/format-block-multiple-paragraphs.html
1540                editing/execCommand/format-block-table.html
1541
1542         * editing/CompositeEditCommand.cpp:
1543         (WebCore::CompositeEditCommand::moveParagraphWithClones): No longer adds erroneous br.
1544         * editing/EditorCommand.cpp:
1545         (WebCore::executeFormatBlock):
1546         * editing/FormatBlockCommand.cpp:
1547         (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
1548         (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
1549         and moved from htmlediting.cpp.
1550         (WebCore::enclosingBlockToSplitTreeTo): Added.
1551         * editing/FormatBlockCommand.h:
1552         * editing/VisiblePosition.cpp:
1553         (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
1554         * editing/VisiblePosition.h:
1555
1556 2010-10-14  Justin Schuh  <jschuh@chromium.org>
1557
1558         Reviewed by James Robinson.
1559
1560         Crash in HTMLTextFormControlElement::selection()
1561         https://bugs.webkit.org/show_bug.cgi?id=47522
1562
1563         Patch by Ryosuke Niwa  <rniwa@webkit.org>
1564
1565         The bug was caused by our triggering layout inside RenderTextControl::selection.
1566         Fixed it by changing the return type of RenderTextControl::selection to PassRefPtr<Range> from VisibleSelection.
1567
1568         Test: fast/forms/render-text-crash.html
1569
1570         * editing/Editor.cpp:
1571         (WebCore::Editor::selectionForCommand): Calls HTMLTextFormControlElement::selection.
1572         * html/HTMLFormControlElement.cpp:
1573         (WebCore::HTMLTextFormControlElement::selection): Calls RenderTextControl::selection.
1574         * html/HTMLFormControlElement.h:
1575         * rendering/RenderTextControl.cpp:
1576         (WebCore::RenderTextControl::selection): Changed the return type.
1577         * rendering/RenderTextControl.h:
1578
1579 2010-10-14  James Robinson  <jamesr@chromium.org>
1580
1581         Reviewed by Simon Fraser.
1582
1583         SelectElement should check if its renderer exists after calling Element::focus()
1584         https://bugs.webkit.org/show_bug.cgi?id=47696
1585
1586         Adds null checks for element->renderer() after calling element->focus(), since focus()
1587         can dispatch an event and run arbitrary javascript that may cause the select element
1588         to lose its renderer.
1589
1590         Test: fast/forms/select-listbox-focus-displaynone.html
1591
1592         * dom/SelectElement.cpp:
1593         (WebCore::SelectElement::menuListDefaultEventHandler):
1594         (WebCore::SelectElement::listBoxDefaultEventHandler):
1595
1596 2010-10-14  Beth Dakin  <bdakin@apple.com>
1597
1598         Reviewed by Dave Hyatt.
1599
1600         This patch lays the groundwork for 
1601         https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should 
1602         affect scrolling
1603         by adding topmostPosition().
1604
1605         * rendering/RenderBlock.cpp:
1606         (WebCore::RenderBlock::topmostPosition):
1607         * rendering/RenderBlock.h:
1608         * rendering/RenderBox.cpp:
1609         (WebCore::RenderBox::topmostPosition):
1610         * rendering/RenderBox.h:
1611         * rendering/RenderMedia.cpp:
1612         (WebCore::RenderMedia::topmostPosition):
1613         * rendering/RenderMedia.h:
1614         * rendering/RenderTableSection.cpp:
1615         (WebCore::RenderTableSection::topmostPosition):
1616         * rendering/RenderTableSection.h:
1617
1618 2010-10-14  Sergio Villar Senin  <svillar@igalia.com>
1619
1620         Reviewed by Martin Robinson.
1621
1622         [GTK] fix compilation warnings in imported libsoup code
1623         https://bugs.webkit.org/show_bug.cgi?id=47674
1624
1625         Fixed some warnings caused by comparisons between signed and
1626         unsigned integer expressions
1627
1628         * platform/network/soup/cache/soup-directory-input-stream.c:
1629         (webkit_soup_directory_input_stream_read):
1630         * platform/network/soup/cache/soup-request-data.c:
1631         (webkit_soup_request_data_send):
1632         * platform/network/soup/cache/soup-request-file.c:
1633         (webkit_soup_request_file_ensure_file):
1634         * platform/network/soup/cache/webkit/soup-cache.c:
1635         (webkit_soup_cache_entry_is_fresh_enough):
1636         (webkit_soup_cache_has_response):
1637
1638 2010-10-14  Andreas Kling  <kling@webkit.org>
1639
1640         Unreviewed buildfix, RetainPtr is a mac thing..
1641
1642         * platform/network/soup/ProxyServerSoup.cpp:
1643
1644 2010-10-08  Martin Robinson  <mrobinson@igalia.com>
1645
1646         Reviewed by Xan Lopez.
1647
1648         [GTK] Form controls do not respect GTK+ font size
1649         https://bugs.webkit.org/show_bug.cgi?id=47134
1650
1651         Have form controls use the font specified in GtkSettings. This font is
1652         the default control font in GTK+ applications and Firefox. We need to
1653         pass the string through Pango to get a valid font name and size.
1654
1655         * platform/gtk/RenderThemeGtk.cpp:
1656         (WebCore::getScreenDPI): A helper function which returns
1657         the DPI of the default screen or 96 as a fallback.
1658         (WebCore::RenderThemeGtk::systemFont): Calculate the system font
1659         by looking at the GtkSettings value and pushing it through Pango
1660         to get the font family and font size.
1661
1662 2010-10-14  Andreas Kling  <kling@webkit.org>
1663
1664         Soup buildfix for r69808: add ProxyServer stub.
1665
1666         * GNUmakefile.am:
1667         * platform/network/soup/ProxyServerSoup.cpp: Added.
1668         (WebCore::proxyServersForURL):
1669
1670 2010-10-14  Andreas Kling  <kling@webkit.org>
1671
1672         Fix GTK+ build after r69808.
1673
1674         * GNUmakefile.am:
1675         * platform/network/curl/ProxyServerCurl.cpp:
1676         (WebCore::proxyServersForURL):
1677
1678 2010-10-14  Simon Fraser  <simon.fraser@apple.com>
1679
1680         Another build fix. Export FrameLoader::networkingContext()
1681
1682         * WebCore.exp.in:
1683
1684 2010-10-14  Simon Fraser  <simon.fraser@apple.com>
1685
1686         Fix the build after r69808.
1687         
1688         * WebCore.xcodeproj/project.pbxproj:
1689         * platform/network/cf/ProxyServerCFNet.cpp:
1690         (WebCore::proxyServersForURL):
1691
1692 2010-10-14  Gavin Barraclough  <barraclough@apple.com>
1693
1694         Windows build fix following r69806.
1695
1696         * platform/win/ClipboardUtilitiesWin.cpp:
1697         (WebCore::markupToCFHTML):
1698
1699 2010-10-14  Dawit Alemayehu  <adawit@kde.org>
1700
1701         Reviewed by Andreas Kling
1702
1703         Implemented NPN_GetValueForURL and NPN_SetValueForURL and NPN_GetAuthenticationInfo.
1704         https://bugs.webkit.org/show_bug.cgi?id=34539
1705
1706         These missing NPN functions cause Java applets to crash in ports such
1707         as QtWebkit that rely on webkit for Java applet support.
1708
1709         * plugins/PluginDebug.cpp:
1710         (WebCore::prettyNameForNPNURLVariable):
1711         * plugins/PluginDebug.h:
1712         * plugins/PluginPackage.cpp:
1713         (WebCore::PluginPackage::initializeBrowserFuncs):
1714         * plugins/PluginView.cpp:
1715         (WebCore::PluginView::getValueForURL):
1716         (WebCore::PluginView::setValueForURL):
1717         (WebCore::PluginView::getAuthenticationInfo):
1718         * plugins/PluginView.h:
1719         * plugins/npapi.cpp:
1720         (NPN_GetValueForURL):
1721         (NPN_SetValueForURL):
1722         (NPN_GetAuthenticationInfo):
1723         * platform/network/ProxyServer.h:
1724         * platform/network/cf/ProxyServerCFNet.cpp:
1725         (WebCore::proxyServersForURL):
1726         * platform/network/qt/ProxyServerQt.cpp:
1727         (WebCore::proxyServersForURL):
1728  
1729 2010-10-14  Gavin Barraclough  <barraclough@apple.com>
1730
1731         Windows build fix following r69806.
1732
1733         * platform/win/ClipboardUtilitiesWin.cpp:
1734         (WebCore::markupToCFHTML):
1735
1736 2010-10-14  Zhenyao Mo  <zmo@google.com>
1737
1738         Reviewed by Kenneth Russell.
1739
1740         Cache link status at linkProgram and use it in useProgram instead of querying GPU
1741         https://bugs.webkit.org/show_bug.cgi?id=47685
1742
1743         * html/canvas/WebGLProgram.cpp: Always cache link status at linkStatus and use it upon query.
1744         (WebCore::WebGLProgram::WebGLProgram):
1745         * html/canvas/WebGLProgram.h: Ditto.
1746         (WebCore::WebGLProgram::getLinkStatus):
1747         (WebCore::WebGLProgram::setLinkStatus):
1748         * html/canvas/WebGLRenderingContext.cpp: Ditto.
1749         (WebCore::WebGLRenderingContext::getProgramParameter):
1750         (WebCore::WebGLRenderingContext::linkProgram):
1751         (WebCore::WebGLRenderingContext::useProgram):
1752
1753 2010-10-14  Justin Schuh  <jschuh@chromium.org>
1754
1755         Reviewed by James Robinson.
1756
1757         Style fix for r69735
1758         https://bugs.webkit.org/show_bug.cgi?id=47684
1759
1760         No logic change. Existing tests apply.
1761
1762         * rendering/RootInlineBox.cpp:
1763         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1764
1765 2010-10-14  Yury Semikhatsky  <yurys@chromium.org>
1766
1767         Reviewed by Pavel Feldman.
1768
1769         Web Inspector: encapsulate ScriptState into ConsoleMessage instead of passing it as additional parameter
1770         https://bugs.webkit.org/show_bug.cgi?id=47675
1771
1772         No new tests. This refactoring is covered by existing inspector tests.
1773
1774         * bindings/js/JSConsoleCustom.cpp:
1775         * bindings/js/ScriptCallFrame.cpp:
1776         * bindings/js/ScriptCallFrame.h:
1777         (WebCore::ScriptCallFrame::functionName):
1778         (WebCore::ScriptCallFrame::sourceURL):
1779         (WebCore::ScriptCallFrame::lineNumber):
1780         (WebCore::ScriptCallFrame::argumentCount):
1781         * inspector/ConsoleMessage.cpp:
1782         (WebCore::ConsoleMessage::isEqual):
1783         * inspector/ConsoleMessage.h:
1784         * inspector/InspectorController.cpp:
1785         (WebCore::InspectorController::addMessageToConsole):
1786         (WebCore::InspectorController::addConsoleMessage):
1787         (WebCore::InspectorController::startGroup):
1788         (WebCore::InspectorController::endGroup):
1789         * inspector/InspectorController.h:
1790
1791 2010-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
1792
1793         Reviewed by Gavin Barraclough.
1794
1795         Replace lots of String::format() usages by StringConcatenate
1796         https://bugs.webkit.org/show_bug.cgi?id=47664
1797
1798         * ForwardingHeaders/wtf/text/StringConcatenate.h: Added.
1799         * bindings/js/JSDOMWindowBase.cpp:
1800         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
1801         * bindings/v8/V8Proxy.cpp:
1802         (WebCore::V8Proxy::reportUnsafeAccessTo):
1803         * dom/ExceptionBase.cpp:
1804         (WebCore::ExceptionBase::ExceptionBase):
1805         * dom/XMLDocumentParser.cpp:
1806         (WebCore::XMLDocumentParser::handleError):
1807         * history/PageCache.cpp:
1808         (WebCore::logCanCacheFrameDecision):
1809         * html/FTPDirectoryDocument.cpp:
1810         (WebCore::processFileDateString):
1811         * inspector/CodeGeneratorInspector.pm:
1812         * inspector/InspectorController.cpp:
1813         (WebCore::InspectorController::didReceiveResponse):
1814         (WebCore::InspectorController::count):
1815         * inspector/InspectorDOMAgent.cpp:
1816         (WebCore::InspectorDOMAgent::createBreakpointId):
1817         * inspector/InspectorDebuggerAgent.cpp:
1818         (WebCore::formatBreakpointId):
1819         * inspector/InspectorProfilerAgent.cpp:
1820         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
1821         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
1822         (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
1823         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
1824         * loader/CachedResourceLoader.cpp:
1825         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
1826         * loader/FrameLoader.cpp:
1827         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
1828         (WebCore::FrameLoader::checkIfRunInsecureContent):
1829         (WebCore::FrameLoader::shouldAllowNavigation):
1830         * loader/archive/cf/LegacyWebArchive.cpp:
1831         (WebCore::LegacyWebArchive::createFromSelection):
1832         * page/DOMWindow.cpp:
1833         (WebCore::DOMWindow::postMessageTimerFired):
1834         * page/PrintContext.cpp:
1835         (WebCore::PrintContext::pageProperty):
1836         (WebCore::PrintContext::pageSizeAndMarginsInPixels):
1837         * page/XSSAuditor.cpp:
1838         (WebCore::XSSAuditor::canLoadObject):
1839         * platform/efl/PlatformKeyboardEventEfl.cpp:
1840         (WebCore::createKeyMap):
1841         (WebCore::createWindowsKeyMap):
1842         * platform/graphics/GraphicsLayer.cpp:
1843         (WebCore::GraphicsLayer::animationNameForTransition):
1844         * platform/graphics/brew/ImageBrew.cpp:
1845         (WebCore::Image::loadPlatformResource):
1846         * platform/graphics/cg/ImageBufferCG.cpp:
1847         (WebCore::ImageBuffer::toDataURL):
1848         * platform/graphics/efl/ImageEfl.cpp:
1849         (WebCore::loadResourceSharedBuffer):
1850         * platform/graphics/gtk/ImageBufferGtk.cpp:
1851         (WebCore::ImageBuffer::toDataURL):
1852         * platform/graphics/haiku/ImageBufferHaiku.cpp:
1853         (WebCore::ImageBuffer::toDataURL):
1854         * platform/graphics/mac/GraphicsLayerCA.mm:
1855         (WebCore::animationIdentifier):
1856         * platform/graphics/qt/ImageBufferQt.cpp:
1857         (WebCore::ImageBuffer::toDataURL):
1858         * platform/graphics/skia/ImageBufferSkia.cpp:
1859         (WebCore::ImageBuffer::toDataURL):
1860         * platform/graphics/win/WebLayer.cpp:
1861         (WebCore::WebLayer::drawInContext):
1862         * platform/network/CredentialStorage.cpp:
1863         (WebCore::originStringFromURL):
1864         * platform/sql/SQLiteDatabase.cpp:
1865         (WebCore::SQLiteDatabase::setSynchronous):
1866         * platform/text/wince/TextCodecWinCE.cpp:
1867         (WebCore::LanguageManager::LanguageManager):
1868         * platform/win/ClipboardUtilitiesWin.cpp:
1869         (WebCore::markupToCFHTML):
1870         * platform/win/Language.cpp:
1871         (WebCore::defaultLanguage):
1872         * plugins/PluginStream.cpp:
1873         (WebCore::PluginStream::startStream):
1874         * svg/SVGUseElement.cpp:
1875         (WebCore::dumpInstanceTree):
1876         * websockets/WebSocket.cpp:
1877         (WebCore::WebSocket::connect):
1878         * websockets/WebSocketChannel.cpp:
1879         (WebCore::WebSocketChannel::appendToBuffer):
1880         * websockets/WebSocketHandshake.cpp:
1881         (WebCore::WebSocketHandshake::readServerHandshake):
1882
1883 2010-10-14  Xan Lopez  <xlopez@igalia.com>
1884
1885         Reviewed by Martin Robinson.
1886
1887         [GTK] Small cleanup in PluginViewGtk
1888         https://bugs.webkit.org/show_bug.cgi?id=47588
1889
1890         Remove some dead code and use PlatformRefPtr for cairo surfaces.
1891
1892         No new tests, only refactoring.
1893
1894         * plugins/gtk/PluginViewGtk.cpp:
1895         (WebCore::PluginView::paint):
1896
1897 2010-10-14  Dawit Alemayehu  <adawit@kde.org>
1898
1899         Reviewed by Andreas Kling.
1900
1901         Fix compile error when bulding webkit's Qt port using the "--v8" option.
1902         https://bugs.webkit.org/show_bug.cgi?id=47455
1903
1904         * platform/qt/PlatformBridge.h:
1905
1906 2010-10-01  Martin Robinson  <mrobinson@igalia.com>
1907
1908         Reviewed by Holger Freyther.
1909
1910         [GTK] REGRESSION: FreeType backend does not respect XSettings font settings after r68558
1911         https://bugs.webkit.org/show_bug.cgi?id=47033
1912
1913         Fix logic that merges XSettings defaults and FontConfig settings. If
1914         FontConfig or XSettings specifies a subpixel order, we force subpixel
1915         anti-aliasing on. If anti-aliasing is turned on explicitly, only
1916         override the setting if it was previously off, otherwise we ignore
1917         the user's preference for subpixel or gray antialiasing.
1918
1919         Test: platform/gtk/fonts/xsettings_antialias_settings.html
1920
1921         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
1922         (WebCore::setCairoFontOptionsFromFontConfigPattern): Fix merging of XSettings
1923         and FontConfig anti-aliasing settings.
1924         (WebCore::getDefaultFontOptions): Added this helper.
1925         (WebCore::FontPlatformData::FontPlatformData): Use the getDefaultFontOptions helper.
1926
1927 2010-10-14  Jian Li  <jianli@chromium.org>
1928
1929         Reviewed by David Levin.
1930
1931         Support typed arrays in workers
1932         https://bugs.webkit.org/show_bug.cgi?id=47616
1933
1934         To support typed arrays in workers, we need to expose constructors in
1935         WorkerContext and add NoStaticTables attribute.
1936
1937         I also add File API feature guard to the constructors defined in
1938         DOMWindow.
1939
1940         * bindings/js/JSDOMWindowCustom.cpp: Add File API feature guard to the
1941         constructors defined in DOMWindow.
1942         * html/canvas/ArrayBuffer.idl: Add NoStaticTables attribute.
1943         * html/canvas/ArrayBufferView.idl: Add NoStaticTables attribute.
1944         * html/canvas/Float32Array.idl: Add NoStaticTables attribute.
1945         * html/canvas/Int16Array.idl: Add NoStaticTables attribute.
1946         * html/canvas/Int32Array.idl: Add NoStaticTables attribute.
1947         * html/canvas/Int8Array.idl: Add NoStaticTables attribute.
1948         * html/canvas/Uint16Array.idl: Add NoStaticTables attribute.
1949         * html/canvas/Uint32Array.idl: Add NoStaticTables attribute.
1950         * html/canvas/Uint8Array.idl: Add NoStaticTables attribute.
1951         * page/DOMWindow.idl: Add File API feature guard to the constructors
1952         defined in DOMWindow.
1953         * workers/WorkerContext.idl: Expose type array constructors.
1954
1955 2010-10-14  Andreas Kling  <kling@webkit.org>
1956
1957         Reviewed by Ariya Hidayat.
1958
1959         [Qt] Avoid creating empty transparency layers in ImageBuffer::clip()
1960
1961         We were creating empty layers for sub-1 height/width clips due to
1962         using IntRect(FloatRect) instead of enclosingIntRect().
1963         This lead to a bunch of QPainter warnings on the console since you
1964         can't draw on an empty QPixmap.
1965
1966         * platform/graphics/qt/ImageBufferQt.cpp:
1967         (WebCore::ImageBuffer::clip):
1968
1969 2010-10-14  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
1970
1971         Reviewed by Martin Robinson.
1972
1973         [cairo] Typo in determining fixed width fonts
1974         https://bugs.webkit.org/show_bug.cgi?id=47470
1975
1976         It must be a single ampersand otherwise the
1977         && FT_FACE_FLAG_FIXED_WIDTH will always be true.
1978
1979         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
1980         (WebCore::FontPlatformData::FontPlatformData):
1981
1982 2010-10-14  Sergio Villar Senin  <svillar@igalia.com>
1983
1984         Reviewed by Xan Lopez.
1985
1986         [GTK] Failing test LayoutTests/editing/undo/orphaned-selection-crash-bug32823-2.html
1987         https://bugs.webkit.org/show_bug.cgi?id=47666
1988
1989         Do a less strict decoding of base64 data url's as it was done
1990         before. The actual problem is most likely
1991         https://bugs.webkit.org/show_bug.cgi?id=47661 tough.
1992
1993         * platform/network/soup/cache/soup-request-data.c:
1994         (webkit_soup_request_data_send):
1995
1996 2010-10-14  Renata Hodovan  <reni@inf.u-szeged.hu>
1997
1998         Reviewed by Andreas Kling.
1999
2000         SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
2001         https://bugs.webkit.org/show_bug.cgi?id=47660
2002
2003         The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
2004         The patch also implements the simple setOrder and setKernelUnitLength methods.
2005
2006         Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
2007                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
2008                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
2009                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
2010                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
2011                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
2012                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
2013                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
2014                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
2015                svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
2016
2017         * svg/SVGFEConvolveMatrixElement.cpp:
2018         (WebCore::SVGFEConvolveMatrixElement::setOrder):
2019         (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
2020         (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
2021         * svg/SVGFEConvolveMatrixElement.h:
2022
2023 2010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
2024
2025         Reviewed by Andreas Kling.
2026
2027         [Qt] Text breaking is slow: enable ICU as an opt-in
2028         https://bugs.webkit.org/show_bug.cgi?id=40332
2029
2030         Added a config flag that enables ICU as an opt-in instead of the Qt specific code.
2031
2032         No new tests, this should be covered by existing tests.
2033
2034         * WebCore.pro:
2035         * platform/text/qt/TextBreakIteratorQt.cpp:
2036         (WebCore::currentTextBreakLocaleID):
2037
2038 2010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
2039
2040         Reviewed by Kenneth Rohde Christiansen.
2041
2042         [Texmap] [Qt] Texture mapper initial implementation
2043         https://bugs.webkit.org/show_bug.cgi?id=47070
2044
2045         This patch enables compilation of TextureMapper with Media. It has an initial non-working implementation of a video layer, to be integrated
2046         once other parts of TextureMapper are fully working.
2047
2048         No new tests: this is new implementation that's not enabled yet.
2049
2050         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2051         (WebCore::TextureMapperVideoLayerQt::TextureMapperVideoLayerQt):
2052         (WebCore::TextureMapperVideoLayerQt::setPlatformLayerClient):
2053         (WebCore::TextureMapperVideoLayerQt::paint):
2054         (WebCore::TextureMapperVideoLayerQt::size):
2055         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
2056         (WebCore::MediaPlayerPrivateQt::platformLayer):
2057         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2058         (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
2059         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
2060         (WebCore::MediaPlayerPrivateQt::platformLayer):
2061
2062 2010-10-14  Alejandro G. Castro  <alex@igalia.com>
2063
2064         Reviewed by Martin Robinson.
2065
2066         Fixed crashes in the GTK 64bits bot, we have to use NULL instead
2067         of 0 when calling these glib APIs, 0 is compiled as a char and in
2068         64bits systems it is not correct.
2069
2070         * platform/network/soup/cache/soup-requester.c:
2071         (webkit_soup_requester_new):
2072         (webkit_soup_requester_request_uri):
2073
2074 2010-10-14  Daniel Bates  <dbates@rim.com>
2075
2076         Attempt to fix the Qt and GTK builds based on the build bot results from <http://webkit.sed.hu>.
2077
2078         * rendering/RenderInline.cpp: Include header "RenderTheme.h"
2079
2080 2010-10-14  Daniel Bates  <dbates@rim.com>
2081
2082         Reviewed by Darin Adler.
2083
2084         Only draw focus ring in RenderInline and RenderImage if the theme
2085         is not able to draw a focus ring
2086         https://bugs.webkit.org/show_bug.cgi?id=47632
2087
2088         Fixes an issue where RenderInline::paintOutline() and RenderImage::paintFocusRings()
2089         would draw a focus ring regardless of whether the port-specific theme is able to
2090         draw a focus ring. Instead, these methods should only draw a focus ring if the
2091         theme is unable to draw a focus ring.
2092
2093         Also, extracted common focus ring drawing code from RenderObject::paintOutline()
2094         and RenderInline::paintOutline() into RenderObject::paintFocusRing().
2095
2096         Tests: fast/forms/textfield-focus-ring.html
2097                fast/images/imagemap-focus-ring.html
2098                fast/inline/inline-focus-ring.html
2099
2100         * rendering/RenderImage.cpp:
2101         (WebCore::RenderImage::paintFocusRings): Modified to only draw a focus ring if the
2102         the theme does not draw one.
2103         * rendering/RenderInline.cpp:
2104         (WebCore::RenderInline::paintOutline): Modified to call RenderObject::paintFocusRing().
2105         * rendering/RenderObject.cpp:
2106         * rendering/RenderObject.cpp:
2107         (WebCore::RenderObject::paintFocusRing): Added.
2108         (WebCore::RenderObject::paintOutline): Modified to call RenderObject::paintFocusRing().
2109         * rendering/RenderObject.h:
2110
2111 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
2112
2113         Reviewed by Yury Semikhatsky.
2114
2115         Web Inspector: Move load and dom content event timers into InspectorController.
2116         https://bugs.webkit.org/show_bug.cgi?id=47668
2117
2118         * inspector/CodeGeneratorInspector.pm:
2119         * inspector/Inspector.idl:
2120         * inspector/InspectorController.cpp:
2121         (WebCore::InspectorController::InspectorController):
2122         (WebCore::InspectorController::populateScriptObjects):
2123         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
2124         (WebCore::InspectorController::mainResourceFiredLoadEvent):
2125         * inspector/InspectorController.h:
2126         * inspector/InspectorResource.cpp:
2127         (WebCore::InspectorResource::InspectorResource):
2128         (WebCore::InspectorResource::updateScriptObject):
2129         * inspector/InspectorResource.h:
2130         * inspector/front-end/inspector.js:
2131         (WebInspector.updateResource):
2132         (WebInspector.domContentEventFired):
2133         (WebInspector.loadEventFired):
2134
2135 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
2136
2137         Not reviewed. Re-landing r69757.
2138
2139 2010-10-14  Pavel Podivilov  <podivilov@chromium.org>
2140
2141         Reviewed by Pavel Feldman.
2142
2143         Web Inspector: implement pausing on window events and timeouts
2144         https://bugs.webkit.org/show_bug.cgi?id=47542
2145
2146         * inspector/InspectorInstrumentation.cpp:
2147         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
2148         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
2149         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
2150         (WebCore::InspectorInstrumentation::didDispatchEventImpl):
2151         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
2152         (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
2153         (WebCore::InspectorInstrumentation::willFireTimerImpl):
2154         (WebCore::InspectorInstrumentation::didFireTimerImpl):
2155         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2156         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
2157         * inspector/InspectorInstrumentation.h:
2158         * inspector/front-end/BreakpointManager.js:
2159         (WebInspector.EventListenerBreakpoint.prototype.populateLabelElement):
2160         (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
2161         (WebInspector.EventListenerBreakpoint.prototype._condition):
2162         (WebInspector.EventListenerBreakpoint.prototype._uiEventName):
2163         * inspector/front-end/BreakpointsSidebarPane.js:
2164         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
2165
2166 2010-10-14  Csaba Osztrogon√°c  <ossy@webkit.org>
2167
2168         Reviewed by Andreas Kling.
2169
2170         Canvas: "currentColor" should inherit the canvas element's color
2171         https://bugs.webkit.org/show_bug.cgi?id=40273
2172
2173         Warning fix after r69755. Missing default cases added.
2174
2175         * html/canvas/CanvasStyle.cpp:
2176         (WebCore::parseColorOrCurrentColor):
2177         (WebCore::CanvasStyle::createFromString):
2178         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
2179
2180 2010-10-14  Pavel Feldman  <pfeldman@chromium.org>
2181
2182         Not reviewed. Rolling out r69757.
2183
2184 2010-10-08  Pavel Feldman  <pfeldman@chromium.org>
2185
2186         Reviewed by Yury Semikhatsky.
2187
2188         Web Inspector: extract content-related methods into InspectorResourceAgent.
2189         https://bugs.webkit.org/show_bug.cgi?id=47415
2190
2191         This is needed for resource-tracking-less operation of resources panel.
2192
2193         * CMakeLists.txt:
2194         * GNUmakefile.am:
2195         * WebCore.gypi:
2196         * WebCore.pro:
2197         * inspector/InspectorCSSAgent.cpp:
2198         * inspector/InspectorResource.cpp:
2199         (WebCore::InspectorResource::type):
2200         (WebCore::InspectorResource::sourceString):
2201         (WebCore::InspectorResource::sourceBytes):
2202         * inspector/InspectorResource.h:
2203         * inspector/InspectorResourceAgent.cpp: Added.
2204         (WebCore::InspectorResourceAgent::resourceContent):
2205         (WebCore::InspectorResourceAgent::resourceContentBase64):
2206         (WebCore::InspectorResourceAgent::resourceData):
2207         (WebCore::InspectorResourceAgent::cachedResourceType):
2208         (WebCore::InspectorResourceAgent::cachedResource):
2209         * inspector/InspectorResourceAgent.h: Added.
2210         * inspector/InspectorStyleSheet.cpp:
2211         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
2212         * inspector/InspectorUtilities.cpp: Removed.
2213         * inspector/InspectorUtilities.h: Removed.
2214
2215 2010-10-14  Andreas Kling  <kling@webkit.org>
2216
2217         Reviewed by Darin Adler.
2218
2219         Canvas: "currentColor" should inherit the canvas element's color
2220         https://bugs.webkit.org/show_bug.cgi?id=40273
2221
2222         Add support for "currentColor" in CanvasRenderingContext2D APIs.
2223         If the canvas is in-document, "currentColor" is replaced by canvas.style.color,
2224         otherwise we use fully opaque black.
2225
2226         For gradient addColorStop(), "currentColor" always means fully opaque black.
2227
2228         Spec link:
2229         http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
2230
2231         Test: fast/canvas/canvas-currentColor.html
2232
2233         * html/canvas/CanvasGradient.cpp:
2234         (WebCore::CanvasGradient::addColorStop):
2235         * html/canvas/CanvasRenderingContext2D.cpp:
2236         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
2237         (WebCore::CanvasRenderingContext2D::setFillStyle):
2238         (WebCore::CanvasRenderingContext2D::setShadowColor):
2239         (WebCore::CanvasRenderingContext2D::setShadow):
2240         * html/canvas/CanvasStyle.cpp:
2241         (WebCore::parseColor):
2242         (WebCore::currentColor):
2243         (WebCore::parseColorOrCurrentColor):
2244         (WebCore::CanvasStyle::CanvasStyle):
2245         (WebCore::CanvasStyle::createFromString):
2246         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
2247         (WebCore::CanvasStyle::isEquivalentColor):
2248         (WebCore::CanvasStyle::applyStrokeColor):
2249         (WebCore::CanvasStyle::applyFillColor):
2250         * html/canvas/CanvasStyle.h:
2251         (WebCore::CanvasStyle::isCurrentColor):
2252         (WebCore::CanvasStyle::hasOverrideAlpha):
2253         (WebCore::CanvasStyle::overrideAlpha):
2254
2255 2010-10-08  Yury Semikhatsky  <yurys@chromium.org>
2256
2257         Reviewed by Pavel Feldman.
2258
2259         Web Inspector: [REGRESSION] Scripts panel: the bubble shows wrong values
2260         https://bugs.webkit.org/show_bug.cgi?id=47358
2261
2262         Test: inspector/debugger-eval-on-call-frame.html
2263
2264         * inspector/front-end/InjectedScript.js:
2265         (injectedScriptConstructor.): don't embrace expression evaluated in the local scope
2266         of a call frame into with(window) to avoid shadowing local variables by global ones.
2267
2268 2010-10-13  Adam Barth  <abarth@webkit.org>
2269
2270         Reviewed by Darin Adler.
2271
2272         Implement getParameter from the URL API
2273         https://bugs.webkit.org/show_bug.cgi?id=46610
2274
2275         Another API from
2276         https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en#
2277         getParameter lets a web site easily read the value of a URL parameter.
2278         This API is for the simple case of a non-repeated parameter name.
2279         getParameterAll will handle repeated parameter names in a future patch.
2280
2281         Tests: fast/dom/anchor-getParameter.html
2282                http/tests/misc/location-getParameter.html
2283
2284         * html/HTMLAnchorElement.cpp:
2285         (WebCore::HTMLAnchorElement::getParameter):
2286         * html/HTMLAnchorElement.h:
2287         * html/HTMLAnchorElement.idl:
2288         * page/Location.cpp:
2289         (WebCore::Location::getParameter):
2290         * page/Location.h:
2291         * page/Location.idl:
2292         * platform/KURL.cpp:
2293         (WebCore::KURL::copyParsedQueryTo):
2294         * platform/KURLGoogle.cpp:
2295         (WebCore::KURL::copyParsedQueryTo):
2296         * platform/KURL.h:
2297
2298 2010-10-14  Alejandro G. Castro  <alex@igalia.com>
2299
2300         Unreviewed. GTK build fix.
2301
2302         * platform/network/soup/ResourceHandleSoup.cpp:
2303         (WebCore::sendRequestCallback):
2304
2305 2010-10-14  Adrienne Walker  <enne@google.com>
2306
2307         Reviewed by James Robinson.
2308
2309         Add a short-term solution for large layers.  Layers that are too
2310         large to be contained in a single texture just upload the portion of
2311         the layer that is within the content rect.  A longer-term solution
2312         is still tiling with proper memory management.  Layers that have full
2313         3D transforms (more than just translations) are still not drawn.
2314         https://bugs.webkit.org/show_bug.cgi?id=47016
2315
2316         Test: compositing/tiling
2317
2318         * platform/graphics/chromium/ContentLayerChromium.cpp:
2319         (WebCore::ContentLayerChromium::ContentLayerChromium):
2320         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
2321         (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
2322         (WebCore::ContentLayerChromium::updateContents):
2323         (WebCore::ContentLayerChromium::updateTextureRect):
2324         (WebCore::ContentLayerChromium::draw):
2325         * platform/graphics/chromium/ContentLayerChromium.h:
2326         * platform/graphics/chromium/ImageLayerChromium.cpp:
2327         (WebCore::ImageLayerChromium::updateContents):
2328         * platform/graphics/chromium/LayerRendererChromium.cpp:
2329         (WebCore::LayerRendererChromium::drawLayers):
2330         * platform/graphics/chromium/LayerRendererChromium.h:
2331         (WebCore::LayerRendererChromium::rootLayerContentRect):
2332
2333 2010-10-14  Chris Rogers  <crogers@google.com>
2334
2335         Reviewed by Chris Fleizach.
2336
2337         Add DelayDSPKernel files
2338         https://bugs.webkit.org/show_bug.cgi?id=47518
2339
2340         No new tests since audio API is not yet implemented.
2341
2342         * webaudio/DelayDSPKernel.cpp: Added.
2343         (WebCore::DelayDSPKernel::DelayDSPKernel):
2344         (WebCore::DelayDSPKernel::process):
2345         (WebCore::DelayDSPKernel::reset):
2346         * webaudio/DelayDSPKernel.h: Added.
2347         (WebCore::DelayDSPKernel::maxDelayTime):
2348         (WebCore::DelayDSPKernel::setDelayFrames):
2349         (WebCore::DelayDSPKernel::delayProcessor):
2350
2351 2010-10-13  Sergio Villar Senin  <svillar@igalia.com>
2352
2353         Reviewed by Martin Robinson.
2354
2355         WebKitGtk+ to use the new API from the imported SoupURILoader code
2356
2357         [GTK] Add HTTP caching support
2358         https://bugs.webkit.org/show_bug.cgi?id=44261
2359
2360         ResourceHandleSoup now does everything via SoupURILoader. This means
2361         that all URLs are handled via the same code path, where WebCore simply
2362         asks libsoup for a WebKitSoupRequest and the request returns an input
2363         stream. Many of ResourceHandleSoup's data members are now PlatformRefPtr
2364         as well, to simplify reference counting
2365
2366         * platform/network/ResourceHandleInternal.h:
2367         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2368         * platform/network/soup/ResourceHandleSoup.cpp:
2369         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2370         (WebCore::ResourceHandle::~ResourceHandle):
2371         (WebCore::restartedCallback):
2372         (WebCore::gotChunkCallback):
2373         (WebCore::parseDataUrl):
2374         (WebCore::cleanupSoupRequestOperation):
2375         (WebCore::sendRequestCallback):
2376         (WebCore::startHttp):
2377         (WebCore::ResourceHandle::start):
2378         (WebCore::ResourceHandle::cancel):
2379         (WebCore::closeCallback):
2380         (WebCore::readCallback):
2381         (WebCore::startGio):
2382         * platform/network/soup/ResourceRequest.h:
2383         * platform/network/soup/ResourceRequestSoup.cpp:
2384         (WebCore::ResourceRequest::updateSoupMessage):
2385
2386 2010-10-12  Abhishek Arya  <inferno@chromium.org>
2387
2388         Reviewed by Darin Adler.
2389
2390         Prevent block logical height of a root inline box from overflowing by clamping it
2391         at INT_MAX. Otherwise, we will not be able to properly dirty the set of lines during
2392         removal a floating object.
2393         https://bugs.webkit.org/show_bug.cgi?id=45611        
2394
2395         Test: fast/overflow/overflow-block-logical-height-crash.html
2396
2397         * rendering/RootInlineBox.cpp:
2398         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2399
2400 2010-10-13  James Robinson  <jamesr@chromium.org>
2401
2402         Reviewed by Darin Adler.
2403
2404         Throw INDEX_SIZE_ERR exception if createRadialGradient is called with a negative radius
2405         Canvas: radialGradient with negative radius should throw exception
2406         https://bugs.webkit.org/show_bug.cgi?id=37176
2407
2408         This matches the canvas 2d specification, Opera, IE9 beta and our behavior for arc()
2409         and arcTo().  Also fixes some PassRefPtr/RefPtr errors in this file.
2410
2411         Test: canvas/philip/tests/2d.gradient.radial.negative.html
2412
2413         * html/canvas/CanvasRenderingContext2D.cpp:
2414         (WebCore::CanvasRenderingContext2D::createLinearGradient):
2415         (WebCore::CanvasRenderingContext2D::createRadialGradient):
2416         (WebCore::createEmptyImageData):
2417         (WebCore::CanvasRenderingContext2D::measureText):
2418
2419 2010-10-13  Fridrich Strba  <fridrich.strba@bluewin.ch>
2420
2421         Reviewed by Darin Adler.
2422
2423         Add WebCore/plugins/win directory to CFLAGS
2424         https://bugs.webkit.org/show_bug.cgi?id=45547
2425
2426         * GNUmakefile.am:
2427
2428 2010-10-13  Martin Robinson  <mrobinson@igalia.com>
2429
2430         Build fix for older versions of libsoup.
2431
2432         * platform/network/soup/cache/soup-request-file.c:
2433         (webkit_soup_request_file_ensure_file): Access the path member of the SoupURI directly.
2434
2435 2010-10-13  Kwang Yul Seo  <skyul@company100.net>
2436
2437         Reviewed by Kent Tamura.
2438
2439         [BREWMP] Add TextBoundaries and TextBreakIterator
2440         https://bugs.webkit.org/show_bug.cgi?id=46105
2441
2442         Copy the implementation of WinCE port.
2443
2444         * platform/text/brew/TextBoundariesBrew.cpp: Added.
2445         (WebCore::findNextWordFromIndex):
2446         (WebCore::findWordBoundary):
2447         * platform/text/brew/TextBreakIteratorBrew.cpp: Added.
2448         (WebCore::isCharStop):
2449         (WebCore::isLineStop):
2450         (WebCore::isSentenceStop):
2451         (WebCore::TextBreakIterator::reset):
2452         (WebCore::TextBreakIterator::following):
2453         (WebCore::TextBreakIterator::preceding):
2454         (WebCore::WordBreakIterator::first):
2455         (WebCore::WordBreakIterator::next):
2456         (WebCore::WordBreakIterator::previous):
2457         (WebCore::CharBreakIterator::first):
2458         (WebCore::CharBreakIterator::next):
2459         (WebCore::CharBreakIterator::previous):
2460         (WebCore::LineBreakIterator::first):
2461         (WebCore::LineBreakIterator::next):
2462         (WebCore::LineBreakIterator::previous):
2463         (WebCore::SentenceBreakIterator::first):
2464         (WebCore::SentenceBreakIterator::next):
2465         (WebCore::SentenceBreakIterator::previous):
2466         (WebCore::wordBreakIterator):
2467         (WebCore::characterBreakIterator):
2468         (WebCore::lineBreakIterator):
2469         (WebCore::sentenceBreakIterator):
2470         (WebCore::textBreakFirst):
2471         (WebCore::textBreakNext):
2472         (WebCore::textBreakPreceding):
2473         (WebCore::textBreakFollowing):
2474         (WebCore::textBreakCurrent):
2475         (WebCore::isTextBreak):
2476         (WebCore::cursorMovementIterator):
2477
2478 2010-10-13  Jeremy Orlow  <jorlow@chromium.org>
2479
2480         Reviewed by Nate Chapin.
2481
2482         IndexedDB should fire some errors synchronously
2483         https://bugs.webkit.org/show_bug.cgi?id=47530
2484
2485         Add dumb plumbing to pass around exception codes.
2486         Utilize that plumbing in the backend to fire some
2487         errors synchronously.
2488         Verify that create/remove* functions are only called
2489         in setVersionTransactions (and raise when not).
2490         Remove plumbing for obsolete IDBDatabase.objectStore
2491         Remove obsolete mode param.
2492
2493         * storage/IDBCursor.cpp:
2494         (WebCore::IDBCursor::update):
2495         (WebCore::IDBCursor::continueFunction):
2496         (WebCore::IDBCursor::remove):
2497         * storage/IDBCursor.h:
2498         (WebCore::IDBCursor::continueFunction):
2499         * storage/IDBCursor.idl:
2500         * storage/IDBCursorBackendImpl.cpp:
2501         (WebCore::IDBCursorBackendImpl::update):
2502         (WebCore::IDBCursorBackendImpl::continueFunction):
2503         (WebCore::IDBCursorBackendImpl::remove):
2504         * storage/IDBCursorBackendImpl.h:
2505         * storage/IDBCursorBackendInterface.h:
2506         * storage/IDBDatabase.cpp:
2507         (WebCore::IDBDatabase::IDBDatabase):
2508         (WebCore::IDBDatabase::createObjectStore):
2509         (WebCore::IDBDatabase::removeObjectStore):
2510         (WebCore::IDBDatabase::setVersion):
2511         (WebCore::IDBDatabase::transaction):
2512         * storage/IDBDatabase.h:
2513         (WebCore::IDBDatabase::createObjectStore):
2514         (WebCore::IDBDatabase::transaction):
2515         * storage/IDBDatabase.idl:
2516         * storage/IDBDatabaseBackendImpl.cpp:
2517         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
2518         (WebCore::IDBDatabaseBackendImpl::objectStore):
2519         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
2520         (WebCore::IDBDatabaseBackendImpl::setVersion):
2521         (WebCore::IDBDatabaseBackendImpl::transaction):
2522         * storage/IDBDatabaseBackendImpl.h:
2523         * storage/IDBDatabaseBackendInterface.h:
2524         * storage/IDBFactory.cpp:
2525         (WebCore::IDBFactory::open):
2526         * storage/IDBFactory.h:
2527         (WebCore::IDBFactory::open):
2528         * storage/IDBFactory.idl:
2529         * storage/IDBIndex.cpp:
2530         (WebCore::IDBIndex::openCursor):
2531         (WebCore::IDBIndex::openKeyCursor):
2532         (WebCore::IDBIndex::get):
2533         (WebCore::IDBIndex::getKey):
2534         * storage/IDBIndex.h:
2535         (WebCore::IDBIndex::openCursor):
2536         (WebCore::IDBIndex::openKeyCursor):
2537         * storage/IDBIndex.idl:
2538         * storage/IDBIndexBackendImpl.cpp:
2539         (WebCore::IDBIndexBackendImpl::openCursor):
2540         (WebCore::IDBIndexBackendImpl::openKeyCursor):
2541         (WebCore::IDBIndexBackendImpl::get):
2542         (WebCore::IDBIndexBackendImpl::getKey):
2543         * storage/IDBIndexBackendImpl.h:
2544         * storage/IDBIndexBackendInterface.h:
2545         * storage/IDBObjectStore.cpp:
2546         (WebCore::IDBObjectStore::get):
2547         (WebCore::IDBObjectStore::add):
2548         (WebCore::IDBObjectStore::put):
2549         (WebCore::IDBObjectStore::remove):
2550         (WebCore::IDBObjectStore::createIndex):
2551         (WebCore::IDBObjectStore::index):
2552         (WebCore::IDBObjectStore::removeIndex):
2553         (WebCore::IDBObjectStore::openCursor):
2554         * storage/IDBObjectStore.h:
2555         (WebCore::IDBObjectStore::add):
2556         (WebCore::IDBObjectStore::put):
2557         (WebCore::IDBObjectStore::createIndex):
2558         (WebCore::IDBObjectStore::openCursor):
2559         * storage/IDBObjectStore.idl:
2560         * storage/IDBObjectStoreBackendImpl.cpp:
2561         (WebCore::IDBObjectStoreBackendImpl::get):
2562         (WebCore::IDBObjectStoreBackendImpl::put):
2563         (WebCore::IDBObjectStoreBackendImpl::remove):
2564         (WebCore::IDBObjectStoreBackendImpl::createIndex):
2565         (WebCore::IDBObjectStoreBackendImpl::index):
2566         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
2567         (WebCore::IDBObjectStoreBackendImpl::openCursor):
2568         * storage/IDBObjectStoreBackendImpl.h:
2569         (WebCore::IDBObjectStoreBackendImpl::name):
2570         (WebCore::IDBObjectStoreBackendImpl::keyPath):
2571         (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
2572         * storage/IDBObjectStoreBackendInterface.h:
2573         * storage/IDBTransaction.cpp:
2574         (WebCore::IDBTransaction::objectStore):
2575         * storage/IDBTransaction.h:
2576         * storage/IDBTransactionBackendImpl.cpp:
2577         (WebCore::IDBTransactionBackendImpl::objectStore):
2578
2579 2010-10-13  Sergio Villar Senin  <svillar@igalia.com>
2580
2581         Reviewed by Martin Robinson.
2582
2583         [GTK] Add HTTP caching support
2584         https://bugs.webkit.org/show_bug.cgi?id=44261
2585
2586         This patch adds HTTP caching support to libsoup networking backend.
2587         This code will eventually be part of libsoup, but has been temporarily
2588         imported into the WebCore tree for testing purposes. All libsoup code
2589         is located in WebCore/platform/network/soup/cache. The webkit prefix
2590         was added to all the symbols to prevent problems when this lands in
2591         libsoup. Some external API was also added under webkit/ directory and
2592         will be used by library clients to enable HTTP caching.
2593
2594         There are two parts to this imported code, the first one is the code
2595         under WebCore/platform/network/soup/cache/ that contains all the
2596         SoupURILoader code that supports the development of the cache. The
2597         second part is the HTTP cache implementation located in
2598         WebCore/platform/network/soup/cache/webkit/.
2599
2600         * GNUmakefile.am:
2601         * platform/network/soup/cache/soup-directory-input-stream.c: Added.
2602         (webkit_soup_directory_input_stream_parse_info):
2603         (webkit_soup_directory_input_stream_read_next_file):
2604         (webkit_soup_directory_input_stream_read):
2605         (webkit_soup_directory_input_stream_close):
2606         (webkit_soup_directory_input_stream_class_init):
2607         (webkit_soup_directory_input_stream_init):
2608         (webkit_soup_directory_input_stream_new):
2609         * platform/network/soup/cache/soup-directory-input-stream.h: Added.
2610         * platform/network/soup/cache/soup-http-input-stream.c: Added.
2611         (webkit_soup_http_input_stream_finalize):
2612         (webkit_soup_http_input_stream_class_init):
2613         (webkit_soup_http_input_stream_seekable_iface_init):
2614         (webkit_soup_http_input_stream_init):
2615         (webkit_soup_http_input_stream_queue_message):
2616         (webkit_soup_http_input_stream_new):
2617         (webkit_soup_http_input_stream_got_headers):
2618         (webkit_soup_http_input_stream_got_chunk):
2619         (webkit_soup_http_input_stream_finished):
2620         (webkit_soup_http_input_stream_cancelled):
2621         (webkit_soup_http_input_stream_prepare_for_io):
2622         (webkit_soup_http_input_stream_done_io):
2623         (set_error_if_http_failed):
2624         (read_from_leftover):
2625         (webkit_soup_http_input_stream_send_internal):
2626         (send_sync_finished):
2627         (webkit_soup_http_input_stream_send):
2628         (webkit_soup_http_input_stream_read):
2629         (webkit_soup_http_input_stream_close):
2630         (wrapper_callback):
2631         (send_async_thread):
2632         (webkit_soup_http_input_stream_send_async_in_thread):
2633         (send_async_finished):
2634         (webkit_soup_http_input_stream_send_async_internal):
2635         (webkit_soup_http_input_stream_send_async):
2636         (webkit_soup_http_input_stream_send_finish):
2637         (read_async_done):
2638         (webkit_soup_http_input_stream_read_async):
2639         (webkit_soup_http_input_stream_read_finish):
2640         (webkit_soup_http_input_stream_close_async):
2641         (webkit_soup_http_input_stream_close_finish):
2642         (webkit_soup_http_input_stream_tell):
2643         (webkit_soup_http_input_stream_can_seek):
2644         (webkit_soup_http_input_stream_seek):
2645         (webkit_soup_http_input_stream_can_truncate):
2646         (webkit_soup_http_input_stream_truncate):
2647         (webkit_soup_http_input_stream_get_message):
2648         * platform/network/soup/cache/soup-http-input-stream.h: Added.
2649         * platform/network/soup/cache/soup-request-data.c: Added.
2650         (webkit_soup_request_data_init):
2651         (webkit_soup_request_data_finalize):
2652         (webkit_soup_request_data_check_uri):
2653         (uri_decoded_copy):
2654         (webkit_soup_request_data_send):
2655         (webkit_soup_request_data_get_content_length):
2656         (webkit_soup_request_data_get_content_type):
2657         (webkit_soup_request_data_class_init):
2658         * platform/network/soup/cache/soup-request-data.h: Added.
2659         * platform/network/soup/cache/soup-request-file.c: Added.
2660         (webkit_soup_request_file_get_file):
2661         (webkit_soup_request_file_init):
2662         (webkit_soup_request_file_finalize):
2663         (webkit_soup_request_file_check_uri):
2664         (webkit_soup_request_file_ftp_main_loop_quit):
2665         (webkit_soup_request_file_ensure_file_ftp):
2666         (webkit_soup_request_file_ensure_file):
2667         (webkit_soup_request_file_send):
2668         (webkit_soup_request_file_send_async_thread):
2669         (webkit_soup_request_file_send_async):
2670         (webkit_soup_request_file_send_finish):
2671         (webkit_soup_request_file_get_content_length):
2672         (webkit_soup_request_file_get_content_type):
2673         (webkit_soup_request_file_class_init):
2674         * platform/network/soup/cache/soup-request-file.h: Added.
2675         * platform/network/soup/cache/soup-request-http.c: Added.
2676         (webkit_soup_request_http_get_message):
2677         (webkit_soup_request_http_init):
2678         (webkit_soup_request_http_check_uri):
2679         (webkit_soup_request_http_finalize):
2680         (webkit_soup_request_http_send):
2681         (sent_async):
2682         (conditional_get_ready_cb):
2683         (send_async_cb):
2684         (webkit_soup_request_http_send_async):
2685         (webkit_soup_request_http_send_finish):
2686         (webkit_soup_request_http_get_content_length):
2687         (webkit_soup_request_http_get_content_type):
2688         (webkit_soup_request_http_class_init):
2689         * platform/network/soup/cache/soup-request-http.h: Added.
2690         * platform/network/soup/cache/soup-request.c: Added.
2691         (webkit_soup_request_init):
2692         (webkit_soup_request_finalize):
2693         (webkit_soup_request_set_property):
2694         (webkit_soup_request_get_property):
2695         (webkit_soup_request_initable_init):
2696         (webkit_soup_request_default_check_uri):
2697         (webkit_soup_request_default_send_async):
2698         (webkit_soup_request_default_send_finish):
2699         (webkit_soup_request_send):
2700         (webkit_soup_request_send_async):
2701         (webkit_soup_request_send_finish):
2702         (webkit_soup_request_class_init):
2703         (webkit_soup_request_initable_interface_init):
2704         (webkit_soup_request_get_uri):
2705         (webkit_soup_request_get_session):
2706         (webkit_soup_request_get_content_length):
2707         (webkit_soup_request_get_content_type):
2708         * platform/network/soup/cache/soup-request.h: Added.
2709         * platform/network/soup/cache/soup-requester.c: Added.
2710         (webkit_soup_requester_init):
2711         (finalize):
2712         (webkit_soup_requester_class_init):
2713         (init_request_types):
2714         (webkit_soup_requester_new):
2715         (webkit_soup_requester_request):
2716         (webkit_soup_requester_request_uri):
2717         (webkit_soup_scheme_is_valid):
2718         (webkit_soup_requester_add_protocol):
2719         (webkit_soup_requester_remove_protocol):
2720         (webkit_soup_error_quark):
2721         * platform/network/soup/cache/soup-requester.h: Added.
2722         * platform/network/soup/cache/webkit/soup-cache-private.h: Added.
2723         * platform/network/soup/cache/webkit/soup-cache.c: Added.
2724         (get_cacheability):
2725         (webkit_soup_cache_entry_free):
2726         (copy_headers):
2727         (update_headers):
2728         (webkit_soup_cache_entry_get_current_age):
2729         (webkit_soup_cache_entry_is_fresh_enough):
2730         (webkit_soup_message_get_cache_key):
2731         (webkit_soup_cache_entry_set_freshness):
2732         (webkit_soup_cache_entry_new):
2733         (webkit_soup_cache_writing_fixture_free):
2734         (close_ready_cb):
2735         (write_ready_cb):
2736         (msg_got_chunk_cb):
2737         (msg_got_body_cb):
2738         (webkit_soup_cache_entry_delete):
2739         (lru_compare_func):
2740         (cache_accepts_entries_of_size):
2741         (make_room_for_new_entry):
2742         (webkit_soup_cache_entry_insert_by_key):
2743         (msg_restarted_cb):
2744         (append_to_ready_cb):
2745         (msg_got_headers_cb):
2746         (webkit_soup_cache_send_response):
2747         (request_started):
2748         (attach):
2749         (webkit_soup_cache_session_feature_init):
2750         (webkit_soup_cache_init):
2751         (webkit_soup_cache_finalize):
2752         (webkit_soup_cache_set_property):
2753         (webkit_soup_cache_get_property):
2754         (webkit_soup_cache_constructed):
2755         (webkit_soup_cache_type_get_type):
2756         (webkit_soup_cache_class_init):
2757         (webkit_soup_cache_new):
2758         (webkit_soup_cache_has_response):
2759         (webkit_soup_cache_get_cacheability):
2760         (force_flush_timeout):
2761         (webkit_soup_cache_flush):
2762         (remove_cache_item):
2763         (webkit_soup_cache_clear):
2764         (webkit_soup_cache_generate_conditional_request):
2765         (pack_entry):
2766         (webkit_soup_cache_dump):
2767         (webkit_soup_cache_load):
2768         (webkit_soup_cache_set_max_size):
2769         (webkit_soup_cache_get_max_size):
2770         * platform/network/soup/cache/webkit/soup-cache.h: Added.
2771
2772 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
2773
2774         Chromium build fix.
2775
2776         * bindings/v8/ScriptProfiler.cpp:
2777
2778 2010-10-13  Chris Evans  <cevans@google.com>
2779
2780         Reviewed by Jian Li.
2781
2782         Blob / BlobBuilder can be put into bad state with wild integers and strings, due to integer overflows
2783         https://bugs.webkit.org/show_bug.cgi?id=47382
2784
2785         Fix integer overflow errors in Blob.slice and BlobBuilder.append.
2786
2787         Test: fast/files/blob-slice-overflow.html
2788
2789         * fileapi/Blob.cpp:
2790         (WebCore::Blob::slice): handle integer overflow properly.
2791         * fileapi/BlobBuilder.cpp:
2792         (WebCore::BlobBuilder::append): use correct type for vector length.
2793
2794 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
2795
2796         Build fix - remove some redundant references to ScriptString.
2797
2798         * WebCore.gypi:
2799         * WebCore.pro:
2800         * bindings/v8/ScriptProfiler.cpp:
2801
2802 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
2803
2804         Reviewed by Oliver Hunt.
2805
2806         Bug 47621 - Remove bindings/v8/ScriptString
2807         This is now redundant.
2808
2809         * bindings/v8/ScriptCallFrame.h:
2810         (WebCore::ScriptCallFrame::functionName):
2811         * bindings/v8/ScriptFunctionCall.cpp:
2812         * bindings/v8/ScriptFunctionCall.h:
2813         * bindings/v8/ScriptString.h: Removed.
2814         * bindings/v8/ScriptStringImpl.cpp: Removed.
2815         * bindings/v8/ScriptStringImpl.h: Removed.
2816
2817 2010-10-13  Anders Carlsson  <andersca@apple.com>
2818
2819         Reviewed by John Sullivan.
2820
2821         Draw the find overlay holes
2822         https://bugs.webkit.org/show_bug.cgi?id=47631
2823
2824         Export symbols needed by WebKit2.
2825
2826         * WebCore.exp.in:
2827
2828 2010-10-13  James Simonsen  <simonjam@chromium.org>
2829
2830         Reviewed by Darin Adler.
2831
2832         Implement onreadystatechange event handler for Documents
2833         https://bugs.webkit.org/show_bug.cgi?id=26140
2834
2835         Test: fast/dom/Document/readystate.html
2836
2837         * dom/Document.cpp:
2838         (WebCore::Document::setReadyState): Fire readystatechangeevent.
2839         (WebCore::Document::open): Clear event listeners.
2840         * dom/Document.h: Add readystatechange event.
2841         * dom/Document.idl: Ditto.
2842
2843 2010-10-13  Chris Fleizach  <cfleizach@apple.com>
2844
2845         Reviewed by Beth Dakin.
2846
2847         AX: accessibilityIsIgnored not respected on ARIA tables
2848         https://bugs.webkit.org/show_bug.cgi?id=47564
2849
2850         For platforms that ignore column headers and header container objects (everything
2851         except Mac) on accessibility tables, that choice needs to be respected in 
2852         ARIA tables as well.
2853
2854         GTK is the only open platform doing this, so I'll have to collect the result of this 
2855         test. It was copied from table-hierarchy.html, but changed to use ARIA tables.
2856
2857         Test: platform/gtk/accessibility/aria-table-hierarchy.html
2858
2859         * accessibility/AccessibilityARIAGrid.cpp:
2860         (WebCore::AccessibilityARIAGrid::addChildren):
2861
2862 2010-10-13  Victoria Kirst  <vrk@google.com>
2863
2864         Reviewed by James Robinson.
2865
2866         No longer ASSERT for LayerRenderer in VideoLayerChromium destructor
2867         https://bugs.webkit.org/show_bug.cgi?id=47432
2868
2869         * platform/graphics/chromium/VideoLayerChromium.cpp:
2870         (WebCore::VideoLayerChromium::cleanupResources):
2871
2872 2010-10-13  Leandro Pereira  <leandro@profusion.mobi>
2873
2874         [EFL] Unreviewed. Build fix.
2875
2876         * CMakeLists.txt: Add ContextShadow.cpp.
2877         * CMakeListsEfl.txt: Add ContextShadowCairo.cpp.
2878
2879 2010-10-13  Martin Robinson  <mrobinson@igalia.com>
2880
2881         Reviewed by Holger Freyther.
2882
2883         [GTK] r69681 caused some tests to crash
2884         https://bugs.webkit.org/show_bug.cgi?id=47622
2885
2886         Properly initialize m_layerContext on the ContextShadow so that in situations
2887         where beginShadowLayer bails out early with a null return value, it is set
2888         to null. This may happen when the first call to beginShadowLayer on a particular
2889         ContextShadow uses a region which is entirely outside the clip region or which
2890         is empty.
2891
2892         * platform/graphics/cairo/ContextShadow.cpp:
2893         (WebCore::ContextShadow::ContextShadow): Properly initialize m_layerContext.
2894
2895 2010-10-13  Anders Carlsson  <andersca@apple.com>
2896
2897         Reviewed by Beth Dakin.
2898
2899         Don't set the fill/stroke colorspace before filling/stroking
2900         https://bugs.webkit.org/show_bug.cgi?id=47619
2901
2902         Setting the colorspace has the side-effect of setting the color to black, which is
2903         not what we want. When fill/stroke is called, a fill/stroke color should already have been set.
2904
2905         Pixel tests show no regressions from this change.
2906
2907         * platform/graphics/cg/GraphicsContextCG.cpp:
2908         (WebCore::GraphicsContext::fillPath):
2909         (WebCore::GraphicsContext::strokePath):
2910         (WebCore::GraphicsContext::fillRect):
2911         (WebCore::GraphicsContext::strokeRect):
2912
2913 2010-10-13  Brent Fulgham  <bfulgham@webkit.org>
2914
2915         Unreviewed WinCairo build fix.
2916         New ContextShadow class not built for Windows builds.
2917
2918         * WebCore.vcproj/WebCore.vcproj: Add missing files for
2919         building ContextShadow on WinCairo.
2920         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2921         Add missing include for ContextShadow definition.
2922
2923 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
2924
2925         Chromium build fix pt1.
2926
2927         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2928         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
2929
2930 2010-10-13  Anders Carlsson  <andersca@apple.com>
2931
2932         Reviewed by Sam Weinig.
2933
2934         Send over find indicator information to the UI process
2935         https://bugs.webkit.org/show_bug.cgi?id=47612
2936
2937         Export symbols needed by WebKit2.
2938
2939         * WebCore.exp.in:
2940
2941 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
2942
2943         Reviewed by Oliver Hunt.
2944
2945         https://bugs.webkit.org/show_bug.cgi?id=43987
2946         Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
2947         to construct their internal result string.  Remove ScriptString (this is now
2948         redundant).
2949
2950         * WebCore.xcodeproj/project.pbxproj:
2951         * bindings/js/JSDOMBinding.cpp:
2952         (WebCore::jsOwnedStringOrNull):
2953         * bindings/js/JSDOMBinding.h:
2954         * bindings/js/JSXMLHttpRequestCustom.cpp:
2955         (WebCore::JSXMLHttpRequest::responseText):
2956         * bindings/js/ScriptCallFrame.cpp:
2957         (WebCore::ScriptCallFrame::ScriptCallFrame):
2958         * bindings/js/ScriptCallFrame.h:
2959         (WebCore::ScriptCallFrame::functionName):
2960         * bindings/js/ScriptCallStack.h:
2961         * bindings/js/ScriptFunctionCall.cpp:
2962         * bindings/js/ScriptFunctionCall.h:
2963         * bindings/js/ScriptString.h: Removed.
2964         * dom/ScriptExecutionContext.h:
2965         * fileapi/FileReader.cpp:
2966         (WebCore::FileReader::FileReader):
2967         (WebCore::FileReader::abort):
2968         (WebCore::FileReader::didReceiveData):
2969         (WebCore::FileReader::result):
2970         (WebCore::FileReader::convertToText):
2971         (WebCore::FileReader::convertToDataURL):
2972         * fileapi/FileReader.h:
2973         * fileapi/FileReaderSync.cpp:
2974         (WebCore::FileReaderSyncLoader::FileReaderSyncLoader):
2975         (WebCore::FileReaderSyncLoader::didReceiveData):
2976         (WebCore::FileReaderSync::readAsBinaryString):
2977         (WebCore::FileReaderSync::readAsText):
2978         (WebCore::FileReaderSync::readAsDataURL):
2979         (WebCore::FileReaderSync::read):
2980         (WebCore::FileReaderSync::convertToText):
2981         * fileapi/FileReaderSync.h:
2982         (WebCore::FileReaderSync::readAsText):
2983         (WebCore::FileReaderSync::FileReaderSync):
2984         * inspector/InspectorController.cpp:
2985         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
2986         (WebCore::InspectorController::scriptImported):
2987         * inspector/InspectorController.h:
2988         * inspector/InspectorResource.cpp:
2989         (WebCore::InspectorResource::setOverrideContent):
2990         * inspector/InspectorResource.h:
2991         * loader/FrameLoader.cpp:
2992         * loader/FrameLoader.h:
2993         * loader/FrameLoaderClient.h:
2994         * loader/ResourceLoadNotifier.h:
2995         * workers/WorkerScriptLoader.h:
2996         * xml/XMLHttpRequest.cpp:
2997         (WebCore::XMLHttpRequest::XMLHttpRequest):
2998         (WebCore::XMLHttpRequest::responseText):
2999         (WebCore::XMLHttpRequest::responseXML):
3000         (WebCore::XMLHttpRequest::abort):
3001         (WebCore::XMLHttpRequest::clearResponse):
3002         (WebCore::XMLHttpRequest::dropProtection):
3003         (WebCore::XMLHttpRequest::didFinishLoading):
3004         (WebCore::XMLHttpRequest::didReceiveData):
3005         * xml/XMLHttpRequest.h:
3006
3007 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
3008
3009         Reviewed by Oliver Hunt.
3010
3011         Bug 43987 - Downloading using XHR is much slower than before
3012
3013         * svg/SVGPathStringBuilder.cpp:
3014         (WebCore::SVGPathStringBuilder::result):
3015             StringBuilder::size() -> StringBuilder::length().
3016
3017 2010-10-13  Yong Li  <yoli@rim.com>
3018
3019         Reviewed by Oliver Hunt.
3020
3021         Fix potential misaligned memory access in CloneDeserializer::readLittleEndian and readString
3022         that can result crash on ARM (<v6).
3023         https://bugs.webkit.org/show_bug.cgi?id=47594
3024
3025         No new test added, because the crash can be produced by existing tests like:
3026         LayoutTests/fast/events/message-channel-gc-4.html
3027
3028         * bindings/js/SerializedScriptValue.cpp:
3029         (WebCore::CloneDeserializer::readLittleEndian):
3030         (WebCore::CloneDeserializer::readString):
3031
3032 2010-10-06  Martin Robinson  <mrobinson@igalia.com>
3033
3034         Reviewed by Dirk Schulze.
3035
3036         [Cairo] Activate ContextShadow in all places where shadows are drawn
3037         https://bugs.webkit.org/show_bug.cgi?id=46475
3038
3039         Turn on ContextShadow for the Cairo port and remove all old shadow code.
3040         Shadow tiling optimizations will be added in a followup patch to ContextShadowCairo.
3041
3042         * platform/graphics/GraphicsContext.h: Add a ContextShadow forward declaration for Cairo.
3043         * platform/graphics/cairo/FontCairo.cpp: Switch to using ContextShadow.
3044         (WebCore::prepareContextForGlyphDrawing): Added this helper which sets up the translation
3045         on the specified cairo_t to prepare for drawing glyphs.
3046         (WebCore::drawGlyphsToContext): Added this helper which draws the glyphs to a cairo_t,
3047         while properly handling glyphs with synthetic bold.
3048         (WebCore::Font::drawGlyphs): Removed old shadow code and replaced it with ContextShadow usage.
3049         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3050         (WebCore::drawPathShadow): Modified this to use ContextShadow and to take an enum
3051         argument specifying whether to fill or stroke the solid figure for the shadow.
3052         (WebCore::fillCurrentCairoPath): Updated drawPathShadow call.
3053         (WebCore::strokeCurrentCairoPath): Ditto.
3054         (WebCore::GraphicsContext::savePlatformState): Save the ContextShadow.
3055         (WebCore::GraphicsContext::restorePlatformState): Restore the ContextShadow.
3056         (WebCore::GraphicsContext::drawPath): Updated drawPathShadow call.
3057         (WebCore::GraphicsContext::fillRect): Uses ContextShadow now.
3058         (WebCore::GraphicsContext::setPlatformShadow): Uses ContextShadow now.
3059         (WebCore::GraphicsContext::contextShadow): Added.
3060         (WebCore::GraphicsContext::clearPlatformShadow): Clears the ContextShadow member.
3061         (WebCore::GraphicsContext::fillRoundedRect): Updated drawPathShadow call.
3062         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3063         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Added.
3064         * platform/graphics/cairo/ImageCairo.cpp:
3065         (WebCore::BitmapImage::draw): Updated to use ContextShadow.
3066
3067 2010-10-13  John Knottenbelt  <jknotten@chromium.org>
3068
3069         Reviewed by Steve Block.
3070
3071         First step towards client-based Geolocation in Chromium. Build
3072         fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
3073         https://bugs.webkit.org/show_bug.cgi?id=47586
3074
3075         * WebCore.gyp/WebCore.gyp:
3076         * platform/chromium/ChromiumBridge.h:
3077         * platform/chromium/GeolocationServiceChromium.cpp:
3078
3079 2010-10-13  Steve Block  <steveblock@google.com>
3080
3081         Unreviewed fix
3082
3083         Need to check for the existence of DeviceOrientation and DeviceMotion controllers
3084
3085         These features can be disabled at run time, so an enable guard is not sufficient.
3086         This bug was introduced in http://trac.webkit.org/changeset/69646
3087
3088         Tested with existing tests.
3089
3090         * history/PageCache.cpp:
3091         (WebCore::logCanCachePageDecision):
3092         (WebCore::PageCache::canCache):
3093
3094 2010-10-13  Yury Semikhatsky  <yurys@chromium.org>
3095
3096         Reviewed by Pavel Feldman.
3097
3098         Web Inspector: stack information is inconsistent between console.trace and runtime errors.
3099         https://bugs.webkit.org/show_bug.cgi?id=47252
3100
3101         * console.trace() is now formatted the same way as other stack traces
3102
3103         * If there is //@ sourceURL=url line at the end of eval'ed script source
3104         the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL
3105         type has changed from KURL to String.
3106
3107         Tests: inspector/console-trace-in-eval.html
3108                inspector/console-uncaught-exception-in-eval.html
3109
3110         * bindings/js/ScriptCallFrame.cpp:
3111         (WebCore::ScriptCallFrame::ScriptCallFrame):
3112         * bindings/js/ScriptCallFrame.h:
3113         (WebCore::ScriptCallFrame::sourceURL):
3114         * bindings/v8/ScriptCallFrame.cpp:
3115         (WebCore::ScriptCallFrame::ScriptCallFrame):
3116         * bindings/v8/ScriptCallFrame.h:
3117         (WebCore::ScriptCallFrame::sourceURL):
3118         * bindings/v8/ScriptCallStack.cpp:
3119         (WebCore::getFrameLocation):
3120         (WebCore::ScriptCallStack::create):
3121         * bindings/v8/ScriptCallStack.h:
3122         * bindings/v8/ScriptController.cpp:
3123         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
3124         * bindings/v8/custom/V8ConsoleCustom.cpp:
3125         (WebCore::V8Console::traceCallback):
3126         * inspector/ConsoleMessage.cpp:
3127         (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
3128         (WebCore::ConsoleMessage::ConsoleMessage):
3129         * inspector/ConsoleMessage.h:
3130         * inspector/front-end/ConsoleView.js:
3131         (WebInspector.ConsoleMessage.prototype._formatMessage):
3132         * page/Console.cpp:
3133         (WebCore::Console::addMessage):
3134         (WebCore::Console::count):
3135         (WebCore::Console::timeEnd):
3136
3137 2010-10-13  Kent Tamura  <tkent@chromium.org>
3138
3139         Unreviewed, a trivial change.
3140
3141         Run sort-Xcode-project-file.
3142
3143         * WebCore.xcodeproj/project.pbxproj:
3144
3145 2010-10-13  Yael Aharon  <yael.aharon@nokia.com>
3146
3147         Reviewed by Andreas Kling.
3148
3149         Wrong ASSERT when select element has size 0
3150         https://bugs.webkit.org/show_bug.cgi?id=47567
3151
3152         Keep the ASSERT only if the size of the element list is more than 0
3153         Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
3154
3155         * dom/SelectElement.cpp:
3156         (WebCore::SelectElement::updateListBoxSelection):
3157         (WebCore::SelectElement::listBoxDefaultEventHandler):
3158
3159 2010-10-13  Steve Block  <steveblock@google.com>
3160
3161         Reviewed by Alexey Proskuryakov.
3162
3163         Pages using DeviceOrientation and DeviceMotion should not go into the page cache
3164         https://bugs.webkit.org/show_bug.cgi?id=47408
3165
3166         Tests: fast/dom/DeviceMotion/no-page-cache.html
3167                fast/dom/DeviceOrientation/no-page-cache.html
3168
3169         * dom/DeviceMotionController.h:
3170         (WebCore::DeviceMotionController::isActive):
3171         * dom/DeviceOrientationController.h:
3172         (WebCore::DeviceOrientationController::isActive):
3173         * history/PageCache.cpp:
3174         (WebCore::logCanCachePageDecision):
3175         (WebCore::PageCache::canCache):
3176         * page/Page.cpp:
3177
3178 2010-10-13  Jenn Braithwaite  <jennb@chromium.org>
3179
3180         Reviewed by Dmitry Titov.
3181
3182         Make resource identifiers unique across pages
3183         https://bugs.webkit.org/show_bug.cgi?id=47002
3184
3185         Test: http/tests/misc/iframe-reparenting-id-collision.html
3186
3187         * loader/ProgressTracker.cpp:
3188         (WebCore::ProgressTracker::ProgressTracker):
3189         (WebCore::ProgressTracker::createUniqueIdentifier):
3190         * loader/ProgressTracker.h:
3191
3192 2010-10-12  Roland Steiner  <rolandsteiner@chromium.org>
3193
3194         Reviewed by David Hyatt.
3195
3196         Bug 41040 - :before/:after content should not become part of a ruby base
3197         https://bugs.webkit.org/show_bug.cgi?id=41040
3198
3199         Also related to:
3200         https://bugs.webkit.org/show_bug.cgi?id=40895.
3201         https://bugs.webkit.org/show_bug.cgi?id=43722.
3202
3203         Explicitly handle :before and :after content in the default way.
3204
3205         Test: fast/ruby/ruby-beforeafter.html
3206               fast/ruby/after-doesnt-crash.html
3207
3208         * rendering/RenderObject.h:
3209         (WebCore::RenderObject::isBeforeContent):
3210         * rendering/RenderRuby.cpp:
3211         (WebCore::lastRubyRun):
3212         (WebCore::RenderRubyAsInline::addChild):
3213         (WebCore::RenderRubyAsInline::removeChild):
3214         (WebCore::RenderRubyAsBlock::addChild):
3215         (WebCore::RenderRubyAsBlock::removeChild):
3216
3217 2010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3218
3219         Unreviewed, rolling out r69639.
3220         http://trac.webkit.org/changeset/69639
3221         https://bugs.webkit.org/show_bug.cgi?id=47575
3222
3223         "regressed nav-element.html" (Requested by rniwa on #webkit).
3224
3225         * editing/ApplyBlockElementCommand.cpp:
3226         (WebCore::ApplyBlockElementCommand::formatSelection):
3227         * editing/EditorCommand.cpp:
3228         (WebCore::executeFormatBlock):
3229         * editing/FormatBlockCommand.cpp:
3230         (WebCore::FormatBlockCommand::formatRange):
3231         * editing/FormatBlockCommand.h:
3232         (WebCore::FormatBlockCommand::editingAction):
3233         * editing/VisiblePosition.cpp:
3234         (WebCore::enclosingBlockFlowElement):
3235         * editing/VisiblePosition.h:
3236         * editing/htmlediting.cpp:
3237         (WebCore::validBlockTag):
3238         * editing/htmlediting.h:
3239
3240 2010-10-12  Ryosuke Niwa  <rniwa@webkit.org>
3241
3242         Reviewed by Tony Chang.
3243
3244         execCommand FormatBlock creates lots of blockquotes
3245         https://bugs.webkit.org/show_bug.cgi?id=19795
3246
3247         The bug was caused by WebKit's not reusing the block node added by previous iteration
3248         and its inserting block node at wrong places.
3249
3250         Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
3251         IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
3252         avoids the existing block elements when replacing blocks and it also adds a placeholder
3253         when removing the existing block caused paragraphs to collapse.
3254
3255         Tests: editing/execCommand/format-block-multiple-paragraphs.html
3256                editing/execCommand/format-block-table.html
3257
3258         * editing/EditorCommand.cpp:
3259         (WebCore::executeFormatBlock):
3260         * editing/FormatBlockCommand.cpp:
3261         (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
3262         (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
3263         and moved from htmlediting.cpp.
3264         (WebCore::FormatBlockCommand::enclosingBlockToSplitTreeTo): Added.
3265         * editing/FormatBlockCommand.h:
3266         * editing/VisiblePosition.cpp:
3267         (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
3268         * editing/VisiblePosition.h:
3269
3270 2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
3271
3272         Reviewed by Anders Carlsson.
3273
3274         Make PluginView inherit from PluginViewBase.
3275
3276         This change is a precursor to adding accelerated compositing support
3277         for NPAPI plugins.
3278
3279         https://bugs.webkit.org/show_bug.cgi?id=47418
3280
3281         * page/Page.cpp:
3282         (WebCore::Page::privateBrowsingStateChanged):
3283         * plugins/PluginView.h:
3284         * plugins/PluginViewBase.h:
3285         (WebCore::PluginViewBase::PluginViewBase):
3286
3287 2010-10-12  Kinuko Yasuda  <kinuko@chromium.org>
3288
3289         Reviewed by Jian Li.
3290
3291         Pass platform path (rather than virtual path) when creating File from FileEntry
3292         https://bugs.webkit.org/show_bug.cgi?id=47563
3293
3294         No new tests, the new test for FileWriter will be verifying this.
3295
3296         * fileapi/FileEntry.cpp:
3297         (WebCore::FileEntry::file):
3298
3299 2010-10-12 David Hyatt  <hyatt@apple.com>
3300
3301         Reviewed by Dan Bernstein
3302
3303         <rdar://problem/8488444> REGRESSION (r67771)
3304         https://bugs.webkit.org/show_bug.cgi?id=47434
3305         Crash when printing in RenderBlock::markDescendantBlocksAndLinesForLayout
3306         
3307         Added printing/simultaneous-position-float-change.html
3308
3309         Remove the markDescendantBlocksAndLinesForLayout method since it can walk m_floatingObjects lists with deleted
3310         objects in them.  Make the mechanism for relayout when the page height changes the same as the one when pageY
3311         changes and just tie a concept of pageHeightChanged to the layout state.  If that is set, blocks will just
3312         automatically mark themselves as needing layout.
3313
3314         * rendering/LayoutState.cpp:
3315         (WebCore::LayoutState::LayoutState):
3316         * rendering/LayoutState.h:
3317         (WebCore::LayoutState::LayoutState):
3318         (WebCore::LayoutState::pageHeight):
3319         (WebCore::LayoutState::pageHeightChanged):
3320         * rendering/RenderBlock.cpp:
3321         (WebCore::RenderBlock::layoutBlock):
3322         (WebCore::RenderBlock::layoutBlockChild):
3323         (WebCore::RenderBlock::layoutPositionedObjects):
3324         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
3325         (WebCore::RenderBlock::insertFloatingObject):
3326         (WebCore::RenderBlock::positionNewFloats):
3327         * rendering/RenderBlock.h:
3328         * rendering/RenderBox.cpp:
3329         * rendering/RenderBox.h:
3330         (WebCore::RenderBox::markForPaginationRelayoutIfNeeded):
3331         * rendering/RenderFlexibleBox.cpp:
3332         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3333         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3334         * rendering/RenderView.cpp:
3335         (WebCore::RenderView::RenderView):
3336         (WebCore::RenderView::layout):
3337         * rendering/RenderView.h:
3338         (WebCore::RenderView::setPageHeight):
3339         (WebCore::RenderView::pushLayoutState):
3340         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
3341         (WebCore::LayoutStateMaintainer::push):
3342
3343 2010-10-12  Anders Carlsson  <andersca@apple.com>
3344
3345         Reviewed by Dan Bernstein.
3346
3347         Paint the find overlay background
3348         https://bugs.webkit.org/show_bug.cgi?id=47565
3349
3350         Export symbols required by WebKit2.
3351
3352         * WebCore.exp.in:
3353
3354 2010-10-12  James Robinson  <jamesr@chromium.org>
3355
3356         Unreviewed chromium compile fixes for http://trac.webkit.org/changeset/69619
3357
3358         * platform/graphics/chromium/LayerRendererChromium.cpp:
3359         (WebCore::LayerRendererChromium::create):
3360         (WebCore::LayerRendererChromium::LayerRendererChromium):
3361         * platform/graphics/chromium/LayerRendererChromium.h:
3362
3363 2010-10-12  Chris Marrin  <cmarrin@apple.com>
3364
3365         Reviewed by Darin Adler.
3366
3367         Manage DrawingBuffer lifetime in GraphicsContext3D
3368         https://bugs.webkit.org/show_bug.cgi?id=47501
3369
3370         GraphicsContext3D and DrawingBuffer are now Refcounted. DrawingBuffer
3371         has a RefPtr to GraphicsContext3D to ensure the proper lifetime. 
3372         DrawingBuffer is now created by GraphicsContext3D. Also DrawingBuffer
3373         refers to GraphicsContext3D rather than SharedGraphicsContext3D.
3374
3375         * html/canvas/CanvasRenderingContext2D.cpp:
3376         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
3377         * html/canvas/CanvasRenderingContext2D.h:
3378         * html/canvas/WebGLRenderingContext.cpp:
3379         (WebCore::WebGLRenderingContext::create):
3380         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
3381         * html/canvas/WebGLRenderingContext.h:
3382         * platform/graphics/GraphicsContext3D.cpp:
3383         (WebCore::GraphicsContext3D::createDrawingBuffer):
3384         * platform/graphics/GraphicsContext3D.h:
3385         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3386         (WebCore::generateColorTexture):
3387         (WebCore::DrawingBuffer::DrawingBuffer):
3388         (WebCore::DrawingBuffer::~DrawingBuffer):
3389         (WebCore::DrawingBuffer::publishToPlatformLayer):
3390         (WebCore::DrawingBuffer::reset):
3391         * platform/graphics/gpu/DrawingBuffer.cpp:
3392         (WebCore::DrawingBuffer::create):
3393         (WebCore::DrawingBuffer::clear):
3394         (WebCore::DrawingBuffer::bind):
3395         * platform/graphics/gpu/DrawingBuffer.h:
3396         (WebCore::DrawingBuffer::graphicsContext3D):
3397         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3398         (WebCore::SharedGraphicsContext3D::create):
3399         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
3400         * platform/graphics/gpu/SharedGraphicsContext3D.h:
3401         (WebCore::SharedGraphicsContext3D::graphicsContext3D):
3402         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3403         (WebCore::DrawingBuffer::DrawingBuffer):
3404         (WebCore::DrawingBuffer::~DrawingBuffer):
3405         (WebCore::DrawingBuffer::reset):
3406         * platform/graphics/mac/GraphicsContext3DMac.mm:
3407         (WebCore::GraphicsContext3D::create):
3408
3409 2010-10-12  Jian Li  <jianli@chromium.org>
3410
3411         Reviewed by David Levin.
3412
3413         Fix passing blob data with string data item between threads.
3414         https://bugs.webkit.org/show_bug.cgi?id=46543
3415
3416         The fix is to use a thread-safe ref-counted Vector<char> to store the
3417         string data. This also makes us be able to store any binary data in it.
3418
3419         I've also fix BlobBuilder and BlobRegistryImpl to avoid some additional
3420         copies to make blob handling faster.
3421
3422         * fileapi/BlobBuilder.cpp:
3423         (WebCore::BlobBuilder::append):
3424         * fileapi/ThreadableBlobRegistry.cpp:
3425         (WebCore::BlobRegistryContext::BlobRegistryContext):
3426         * platform/network/BlobData.cpp:
3427         (WebCore::BlobDataItem::RawData::RawData):
3428         (WebCore::BlobDataItem::RawData::detachFromCurrentThread):
3429         (WebCore::BlobDataItem::detachFromCurrentThread):
3430         (WebCore::BlobData::create):
3431         (WebCore::BlobData::detachFromCurrentThread):
3432         (WebCore::BlobData::appendData):
3433         * platform/network/BlobData.h:
3434         (WebCore::BlobDataItem::RawData::create):
3435         (WebCore::BlobDataItem::RawData::data):
3436         (WebCore::BlobDataItem::RawData::length):
3437         (WebCore::BlobDataItem::RawData::mutableData):
3438         (WebCore::BlobDataItem::BlobDataItem):
3439         * platform/network/BlobRegistryImpl.cpp:
3440         (WebCore::BlobRegistryImpl::registerBlobURL):
3441         * platform/network/BlobResourceHandle.cpp:
3442         (WebCore::BlobResourceHandle::readDataSync):
3443         (WebCore::BlobResourceHandle::readDataAsync):
3444         * platform/network/mac/FormDataStreamMac.mm:
3445         (WebCore::setHTTPBody):
3446         * platform/text/LineEnding.cpp:
3447         (OutputBuffer::CStringBuffer::CStringBuffer):
3448         (OutputBuffer::CStringBuffer::~CStringBuffer):
3449         (OutputBuffer::CStringBuffer::allocate):
3450         (OutputBuffer::CStringBuffer::copy):
3451         (OutputBuffer::CStringBuffer::buffer):
3452         (OutputBuffer::VectorCharAppendBuffer::VectorCharAppendBuffer):
3453         (OutputBuffer::VectorCharAppendBuffer::~VectorCharAppendBuffer):
3454         (OutputBuffer::VectorCharAppendBuffer::allocate):
3455         (OutputBuffer::VectorCharAppendBuffer::copy):
3456         (OutputBuffer::internalNormalizeLineEndingsToCRLF):
3457         (WebCore::normalizeToCROrLF):
3458         (WebCore::normalizeLineEndingsToCRLF):
3459         (WebCore::normalizeLineEndingsToCR):
3460         (WebCore::normalizeLineEndingsToLF):
3461         (WebCore::normalizeLineEndingsToNative):
3462         * platform/text/LineEnding.h:
3463
3464 2010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3465
3466         Unreviewed, rolling out r69589.
3467         http://trac.webkit.org/changeset/69589
3468         https://bugs.webkit.org/show_bug.cgi?id=47547
3469
3470         Wrong patch landed from a bug with two patches (Requested by
3471         mrobinson on #webkit).
3472
3473         * platform/network/ResourceHandleInternal.h:
3474         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3475         * platform/network/soup/ResourceHandleSoup.cpp:
3476         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
3477         (WebCore::ResourceHandle::~ResourceHandle):
3478         (WebCore::restartedCallback):
3479         (WebCore::gotChunkCallback):
3480         (WebCore::finishedCallback):
3481         (WebCore::parseDataUrl):
3482         (WebCore::startHttp):
3483         * platform/network/soup/ResourceRequest.h:
3484         * platform/network/soup/ResourceRequestSoup.cpp:
3485
3486 2010-10-12  Simon Fraser  <simon.fraser@apple.com>
3487
3488         Screen.availLeft should be signed
3489         https://bugs.webkit.org/show_bug.cgi?id=34397
3490         
3491         Add the manual test missed in r69599.
3492
3493         * manual-tests/screen-availLeft.html: Added.
3494
3495 2010-10-12  Girish Ramakrishnan  <girish@forwardbias.in>
3496
3497         Reviewed by Ariya Hidayat.
3498
3499         [Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent.
3500
3501         Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This
3502         quirk is enabled only for 64-bit Flash/X11 and should not affect other
3503         plugins. The freeze itself is in Flash code and the backtrace is not
3504         useful.
3505
3506         https://bugs.webkit.org/show_bug.cgi?id=47545
3507
3508         * plugins/PluginPackage.cpp:
3509         (WebCore::PluginPackage::determineQuirks):
3510         * plugins/PluginQuirkSet.h:
3511         * plugins/qt/PluginViewQt.cpp:
3512         (WebCore::PluginView::handleMouseEvent):
3513
3514 2010-10-08  Simon Fraser  <simon.fraser@apple.com>
3515
3516         Reviewed by Alexey Proskuryakov.
3517
3518         Screen.availLeft should be signed
3519         https://bugs.webkit.org/show_bug.cgi?id=34397
3520
3521         For the screen to the left of the main screen, screen.availLeft
3522         can be negative, so the Screen API needs to use signed numbers
3523         for availLeft and availTop.
3524
3525         * manual-tests/screen-availLeft.html: Added.
3526         * page/Screen.cpp:
3527         (WebCore::Screen::availLeft):
3528         (WebCore::Screen::availTop):
3529         * page/Screen.h:
3530         * page/Screen.idl:
3531
3532 2010-10-12  Anders Carlsson  <andersca@apple.com>
3533
3534         Reviewed by Sam Weinig.
3535
3536         Add FindController class
3537         https://bugs.webkit.org/show_bug.cgi?id=47555
3538
3539         Export Page::findString.
3540
3541         * WebCore.exp.in:
3542
3543 2010-10-12  Alexey Proskuryakov  <ap@apple.com>
3544
3545         Reviewed by Simon Fraser.
3546
3547         https://bugs.webkit.org/show_bug.cgi?id=47550
3548         <rdar://problem/8353386> For WebKit plug-ins, beforeload can be called recursively
3549         (esp. with AdBlock style extensions)
3550
3551         No test - we don't have a WebKit-style plugin in DRT, and don't care enough to add one.
3552
3553         The fix is to block plug-in scripting while in beforeload event - the plug-in is obviously
3554         not available yet, so scripting could only attempt to load it recursively.
3555
3556         This didn't affect NPAPI plug-ins, because of a completely different code path taken in
3557         updateWidget(), see <https://bugs.webkit.org/show_bug.cgi?id=44575#c8>.
3558
3559         * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::updateWidget):
3560         * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::updateWidget):
3561         * html/HTMLPlugInElement.cpp:
3562         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
3563         (WebCore::HTMLPlugInElement::pluginWidget):
3564         * html/HTMLPlugInElement.h:
3565
3566 2010-10-12  Nikolas Zimmermann  <nzimmermann@rim.com>
3567
3568         Reviewed by Gavin Barraclough.
3569
3570         Unify JSC::StringBuilder & WebCore::StringBuilder
3571         https://bugs.webkit.org/show_bug.cgi?id=47538
3572
3573         JSC::StringBuilder operates on a Vector<UChar, 64> and allows to build a string based on a stream of characters in an efficient manner.
3574         WebCore::StringBuilder operates on a Vector<String, 16> and allows to concat an arbitary number of Strings. It's not efficient in handling single
3575         characters, as a String with length=1 has to be constructed for those. An analysis of the callers of WebCore::StringBuilder shows that
3576         most callsites actually combine Strings and single characters, so using a Vector<UChar> would be more efficient. Those who only combine large
3577         strings are only used for debugging purposes, so it's fine to switch them to a Vector<UChar> approach as well.
3578
3579         Replace WebCore::StringBuilder with JSC::StringBuilder, and move it to wtf/text/StringBuilder.h into the WTF namespace.
3580         While I was at it remove platform/text/StringBuffer.h, as it was only including wtf/text/StringBuffer.h.
3581
3582         No change in functionality, thus no new tests.
3583
3584         * Android.mk: Remove platform/text/StringBuilder.* and platform/text/StringBuffer.h.
3585         * CMakeLists.txt: Ditto.
3586         * GNUmakefile.am: Ditto. 
3587         * WebCore.gypi: Ditto.
3588         * WebCore.order: Ditto.
3589         * WebCore.pro: Ditto.
3590         * WebCore.vcproj/WebCore.vcproj: Ditto.
3591         * WebCore.xcodeproj/project.pbxproj: Ditto.
3592         * ForwardingHeaders/runtime/StringBuilder.h: Removed.
3593         * ForwardingHeaders/runtime/UStringBuilder.h: Added.
3594         * ForwardingHeaders/wtf/text/StringBuilder.h: Added.
3595         * bindings/js/ScriptString.h: Don't include PlatformString.h but wtf/text/WTFString.h.
3596         (WebCore::ScriptString::operator+=): Use JSC::UStringBuilder instead of JSC::StringBuilder.
3597         * bridge/jni/JNIBridge.cpp: Use WTF::StringBuilder (+ use append(const UChar) for single characters).
3598         * css/MediaQuery.cpp: Ditto.
3599         * css/MediaQueryExp.cpp: Ditto.
3600         * dom/Node.cpp: Ditto.
3601         (WebCore::Node::appendTextContent): Manually track wheter the StringBuilder content is empty or null, the new StringBuilder doesn't differentiate between null & empty strings.
3602         * dom/Node.h: Remove appendTextContent definition, it's not needed to be exported, removes the need for a StringBuilder.h include or forward declaration.
3603         * html/DOMTokenList.cpp: Use WTF::StringBuilder.
3604         * inspector/InspectorResource.cpp: Remove useless StringBuffer.h include.
3605         * platform/android/FileSystemAndroid.cpp: Use WTF::StringBuilder.
3606         * platform/brew/FileSystemBrew.cpp: Ditto.
3607         * platform/chromium/ClipboardChromium.cpp: Ditto (+ use append(const UChar) for single characters).
3608         * platform/graphics/gpu/PODInterval.h: Ditto (Only used as debugging helper here, in debug builds).
3609         * platform/graphics/gpu/PODRedBlackTree.h: Ditto (Only used as debugging helper here, in debug builds).
3610         * platform/graphics/mac/GraphicsLayerCA.mm: Remove useless StringBuilder.h include.
3611         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Use WTF::StringBuilder, and use append(const UChar) for single characters.
3612         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Ditto.
3613         * platform/network/ProxyServer.cpp:
3614         (WebCore::appendProxyServerString): Use WTF::StringBuilder.
3615         * platform/text/StringBuffer.h: Removed.
3616         * platform/text/StringBuilder.cpp: Removed.
3617         * platform/text/StringBuilder.h: Removed.
3618         * plugins/DOMMimeType.cpp: Use WTF::StringBuilder.
3619         * svg/SVGPathParserFactory.cpp: Ditto.
3620         * svg/SVGPathStringBuilder.cpp: SVGPathStringBuilder used stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings), adapt to the change, that this mode is gone now.
3621         (WebCore::SVGPathStringBuilder::result): Just use toString(), append a space to the end of each command, when building the string. Remove the last trailing space before building the result.
3622         (WebCore::SVGPathStringBuilder::moveTo):
3623         (WebCore::SVGPathStringBuilder::lineTo):
3624         (WebCore::SVGPathStringBuilder::lineToHorizontal):
3625         (WebCore::SVGPathStringBuilder::lineToVertical):
3626         (WebCore::SVGPathStringBuilder::curveToCubic):
3627         (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
3628         (WebCore::SVGPathStringBuilder::curveToQuadratic):
3629         (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
3630         (WebCore::SVGPathStringBuilder::arcTo):
3631         (WebCore::SVGPathStringBuilder::closePath):
3632         * svg/SVGPathStringBuilder.h:
3633         (WebCore::SVGPathStringBuilder::cleanup): StringBuilder::clear() is gone, just cleanup by assigning StringBuilder().
3634         * websockets/WebSocket.cpp: Use WTF::StringBuilder.
3635         * websockets/WebSocketHandshake.cpp: Ditto (+ use append(const UChar) for single characters).
3636
3637 2010-10-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3638
3639         Reviewed by Antonio Gomes.
3640
3641         [EFL] Add a missing file in CMakeListEfl.txt
3642         https://bugs.webkit.org/show_bug.cgi?id=47480
3643
3644         IntRectEfl.cpp was missing in CMakeListEfl.txt. So, IntRectEfl.cpp is added.
3645
3646         * CMakeListsEfl.txt:
3647
3648 2010-10-12  Sam Weinig  <sam@webkit.org>
3649
3650         Reviewed by Anders Carlsson.
3651
3652         Need WebKit2 API to get the cell above a table cell
3653         <rdar://problem/8537111>
3654         https://bugs.webkit.org/show_bug.cgi?id=47532
3655
3656         Re-factor functionality to get the cell above a table cell
3657         into a function on HTMLTableCellElement and export it for use
3658         as SPI.
3659
3660         * WebCore.exp.in:
3661         * WebCore.xcodeproj/project.pbxproj:
3662         * html/HTMLTableCellElement.cpp:
3663         (WebCore::HTMLTableCellElement::cellAbove): Move implementation here...
3664         * html/HTMLTableCellElement.h:
3665         * page/Frame.cpp:
3666         (WebCore::Frame::searchForLabelsAboveCell): ...from here.
3667
3668 2010-10-12  Dave Moore  <davemoore@chromium.org>
3669
3670         Reviewed by Tony Chang.
3671
3672         Use new WebThemeEngine api on chromium / linux to draw scrollbars.
3673         https://bugs.webkit.org/show_bug.cgi?id=47473
3674
3675         * platform/chromium/ChromiumBridge.h:
3676         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3677
3678 2010-10-12  Andreas Kling  <kling@webkit.org>
3679
3680         Reviewed by Antonio Gomes.
3681
3682         [Qt] Clipping problem viewing SVG with WebKit
3683         https://bugs.webkit.org/show_bug.cgi?id=29596
3684
3685         SVG path clipping (via GraphicsContext::clipPath()) was done using the
3686         Qt::ReplaceClip mode (default) instead of Qt::IntersectClip. This led
3687         to misrenderings when nesting multiple clip paths.
3688
3689         * platform/graphics/qt/GraphicsContextQt.cpp:
3690         (WebCore::GraphicsContext::clipPath):
3691
3692 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
3693
3694         Reviewed by Pavel Feldman.
3695
3696         Web Inspector: refactoring of native breakpoints.
3697         https://bugs.webkit.org/show_bug.cgi?id=47360
3698
3699         Make DOM, EventListener and XHR breakpoints subclasses of NativeBreakpoint class.
3700         Move stuff that depends on breakpoint type to corresponding subclass.
3701
3702         * inspector/Inspector.idl:
3703         * inspector/InspectorController.cpp:
3704         (WebCore::InspectorController::didCommitLoad):
3705         (WebCore::InspectorController::setNativeBreakpoint):
3706         (WebCore::InspectorController::removeNativeBreakpoint):
3707         (WebCore::InspectorController::findEventListenerBreakpoint):
3708         (WebCore::InspectorController::findXHRBreakpoint):
3709         * inspector/InspectorController.h:
3710         * inspector/InspectorDOMAgent.cpp:
3711         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
3712         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
3713         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
3714         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
3715         (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
3716         (WebCore::InspectorDOMAgent::createBreakpointId):
3717         * inspector/InspectorDOMAgent.h:
3718         * inspector/InspectorDebuggerAgent.h:
3719         * inspector/InspectorInstrumentation.cpp:
3720         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
3721         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
3722         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
3723         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
3724         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
3725         * inspector/front-end/BreakpointManager.js:
3726         (WebInspector.BreakpointManager):
3727         (WebInspector.BreakpointManager.prototype.reset):
3728         (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
3729         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
3730         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
3731         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
3732         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
3733         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
3734         (WebInspector.BreakpointManager.prototype.debuggerPaused):
3735         (WebInspector.BreakpointManager.prototype.debuggerResumed):
3736         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints.restoreBreakpointsForNode):
3737         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
3738         (WebInspector.NativeBreakpoint):
3739         (WebInspector.NativeBreakpoint.prototype.remove):
3740         (WebInspector.NativeBreakpoint.prototype.get _frontendId):
3741         (WebInspector.NativeBreakpoint.prototype.get _type):
3742         (WebInspector.NativeBreakpoint.prototype._compare):
3743         (WebInspector.NativeBreakpoint.prototype._onRemove):
3744         (WebInspector.DOMBreakpoint):
3745         (WebInspector.DOMBreakpoint.prototype.click):
3746         (WebInspector.DOMBreakpoint.prototype.compareTo):
3747         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
3748         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.formatters.s):
3749         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.append):
3750         (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement):
3751         (WebInspector.DOMBreakpoint.prototype._condition):
3752         (WebInspector.DOMBreakpoint.prototype._onRemove):
3753         (WebInspector.EventListenerBreakpoint):
3754         (WebInspector.EventListenerBreakpoint.prototype.compareTo):
3755         (WebInspector.EventListenerBreakpoint.prototype.label):
3756         (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
3757         (WebInspector.EventListenerBreakpoint.prototype._condition):
3758         (WebInspector.XHRBreakpoint):
3759         (WebInspector.XHRBreakpoint.prototype.compareTo):
3760         (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
3761         (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
3762         (WebInspector.XHRBreakpoint.prototype._condition):
3763         (WebInspector.domBreakpointTypeLabel):
3764         (WebInspector.domBreakpointTypeContextMenuLabel):
3765         * inspector/front-end/BreakpointsSidebarPane.js:
3766         (WebInspector.BreakpointItem):
3767         (WebInspector.BreakpointItem.prototype._breakpointClicked):
3768         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
3769         * inspector/front-end/CallStackSidebarPane.js:
3770         (WebInspector.CallStackSidebarPane):
3771         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
3772         (WebInspector.CallStackSidebarPane.prototype._breakpointHit):
3773         * inspector/front-end/DOMAgent.js:
3774         (WebInspector.DOMNode):
3775         (WebInspector.DOMAgent.prototype._setDocument):
3776         (WebInspector.DOMAgent.prototype._removeBreakpoints):
3777         (WebInspector.childNodeRemoved):
3778         * inspector/front-end/ElementsTreeOutline.js:
3779         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
3780         * inspector/front-end/ScriptsPanel.js:
3781         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
3782         * inspector/front-end/inspector.js:
3783         (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
3784         (WebInspector.createDOMBreakpointsSidebarPane):
3785         (WebInspector.reset):
3786
3787 2010-10-11  Eric Uhrhane  <ericu@chromium.org>
3788
3789         Reviewed by Dumitru Daniliuc.
3790
3791         FileWriter should hold a reference to a Blob during write
3792         https://bugs.webkit.org/show_bug.cgi?id=47318
3793
3794         Without this reference, the Blob might get garbage-collected from JS
3795         before the write has completed, which would be quite unintuitive to the
3796         user.  I just grab a RefPtr to the Blob at write(), then clear it when
3797         we're done.
3798
3799         * fileapi/FileWriter.cpp:
3800         (WebCore::FileWriter::stop):
3801         (WebCore::FileWriter::write):
3802         (WebCore::FileWriter::didWrite):
3803         (WebCore::FileWriter::didFail):
3804         * fileapi/FileWriter.h:
3805
3806 2010-10-11  Michael Saboff  <msaboff@apple.com>
3807
3808         Reviewed by Darin Adler.
3809
3810         Changed DOMWindow to have a constructor.  Updated the code generator
3811         to add security checks to the constructors if CheckDomainSecurity is 
3812         set.  Also changed the constructor generation code to use 
3813         globalObject->prototype() for DOMWindow object prototypes instead
3814         of "self".
3815         https://bugs.webkit.org/show_bug.cgi?id=47422
3816
3817         Test: fast/dom/Window/window-constructor.html
3818
3819         * bindings/scripts/CodeGeneratorJS.pm:
3820         * page/DOMWindow.idl:
3821
3822 2010-10-11  Daniel Cheng  <dcheng@chromium.org>
3823
3824         Reviewed by Tony Chang.
3825
3826         [chromium] Prepare Clipboard/DragData for transition to new drag-and-drop interface.
3827         https://bugs.webkit.org/show_bug.cgi?id=44992
3828
3829         In order to allow a graceful transition, ChromiumDataObject has been
3830         reimplemented as a wrapper around the three different types of data
3831         objects that the Chrome port uses:
3832         1. ChromiumDataObjectLegacy -- this is the original ChromiumDataObject.
3833            All the data that ClipboardChromium/DragDataChromium can potentially
3834            use is copied over, regardless of whether or not it is needed.
3835         2. ReadableDataObject -- used for dragging in and pasting into WebKit.
3836            For efficiency, it caches an optimistic list of types it believes it
3837            can handle. When getData() is called, a browser IPC is called to
3838            retrieve the appropriate data.
3839         3. WritableDataObject -- similar to ChromiumDataObjectLegacy in that it
3840            buffers all data when dragging out of WebKit or copying/cutting.
3841            Unfortunately, there is a difference between dragging out and
3842            copying/cutting--on drag outs, the data is buffered and flushed out
3843            when startDrag() is called. For copy/cut, any calls to setData()
3844            result in a browser IPC right away, so calls to setData() in one
3845            copy/cut event are not atomic.
3846
3847         Copy and paste has been changed to use the new data objects. Dragging
3848         out uses the legacy data object, and dragging in now has two potential
3849         entry points--one using the legacy data object, and one using
3850         ReadableDataObject. Once Chromium transitions to using the new drag-in
3851         interface, the old interface will be removed.
3852
3853         This change is covered by existing tests.
3854
3855         * WebCore.gypi:
3856         * editing/chromium/EditorChromium.cpp:
3857         (WebCore::Editor::newGeneralClipboard):
3858         * page/chromium/EventHandlerChromium.cpp:
3859         (WebCore::EventHandler::createDraggingClipboard):
3860         * platform/chromium/ChromiumDataObject.cpp:
3861         (WebCore::ChromiumDataObject::ChromiumDataObject):
3862         (WebCore::ChromiumDataObject::create):
3863         (WebCore::ChromiumDataObject::createReadable):
3864         (WebCore::ChromiumDataObject::createWritable):
3865         (WebCore::ChromiumDataObject::clearData):
3866         (WebCore::ChromiumDataObject::clearAll):
3867         (WebCore::ChromiumDataObject::clearAllExceptFiles):
3868         (WebCore::ChromiumDataObject::hasData):
3869         (WebCore::ChromiumDataObject::types):
3870         (WebCore::ChromiumDataObject::getData):
3871         (WebCore::ChromiumDataObject::setData):
3872         (WebCore::ChromiumDataObject::urlTitle):
3873         (WebCore::ChromiumDataObject::setUrlTitle):
3874         (WebCore::ChromiumDataObject::htmlBaseUrl):
3875         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
3876         (WebCore::ChromiumDataObject::containsFilenames):
3877         (WebCore::ChromiumDataObject::filenames):
3878         (WebCore::ChromiumDataObject::setFilenames):
3879         (WebCore::ChromiumDataObject::fileExtension):
3880         (WebCore::ChromiumDataObject::setFileExtension):
3881         (WebCore::ChromiumDataObject::fileContentFilename):
3882         (WebCore::ChromiumDataObject::setFileContentFilename):
3883         (WebCore::ChromiumDataObject::fileContent):
3884         (WebCore::ChromiumDataObject::setFileContent):
3885         * platform/chromium/ChromiumDataObject.h:
3886         * platform/chromium/ChromiumDataObjectLegacy.cpp: Copied from ChromiumDataObject.cpp
3887         (WebCore::ChromiumDataObjectLegacy::clearData):
3888         (WebCore::ChromiumDataObjectLegacy::clearAll):
3889         (WebCore::ChromiumDataObjectLegacy::clearAllExceptFiles):
3890         (WebCore::ChromiumDataObjectLegacy::hasData):
3891         (WebCore::ChromiumDataObjectLegacy::types):
3892         (WebCore::ChromiumDataObjectLegacy::getData):
3893         (WebCore::ChromiumDataObjectLegacy::setData):
3894         (WebCore::ChromiumDataObjectLegacy::ChromiumDataObjectLegacy):
3895         * platform/chromium/ChromiumDataObjectLegacy.h: Copied from ChromiumDataObject.h
3896         (WebCore::ChromiumDataObjectLegacy::create):
3897         (WebCore::ChromiumDataObjectLegacy::copy):
3898         (WebCore::ChromiumDataObjectLegacy::urlTitle):
3899         (WebCore::ChromiumDataObjectLegacy::setUrlTitle):
3900         (WebCore::ChromiumDataObjectLegacy::htmlBaseUrl):
3901         (WebCore::ChromiumDataObjectLegacy::setHtmlBaseUrl):
3902         (WebCore::ChromiumDataObjectLegacy::containsFilenames):
3903         (WebCore::ChromiumDataObjectLegacy::filenames):
3904         (WebCore::ChromiumDataObjectLegacy::setFilenames):
3905         (WebCore::ChromiumDataObjectLegacy::fileExtension):
3906         (WebCore::ChromiumDataObjectLegacy::setFileExtension):
3907         (WebCore::ChromiumDataObjectLegacy::fileContentFilename):
3908         (WebCore::ChromiumDataObjectLegacy::setFileContentFilename):
3909         (WebCore::ChromiumDataObjectLegacy::fileContent):
3910         (WebCore::ChromiumDataObjectLegacy::setFileContent):
3911         * platform/chromium/ClipboardChromium.cpp:
3912         (WebCore::ClipboardChromium::create):
3913         * platform/chromium/ClipboardChromium.h:
3914         * platform/chromium/ReadableDataObject.cpp:
3915         (WebCore::ReadableDataObject::getData):
3916         * platform/chromium/WritableDataObject.cpp:
3917         (WebCore::WritableDataObject::setData):
3918
3919 2010-10-11  Anders Carlsson  <andersca@apple.com>
3920
3921         Reviewed by Darin Adler.
3922
3923         Remove WebIconFetcher from WebKit and IconFetcher from WebCore
3924         https://bugs.webkit.org/show_bug.cgi?id=47523
3925
3926         Remove all traces of the WebCore IconFetcher class. It's SPI that nobody uses.
3927
3928         * GNUmakefile.am:
3929         * WebCore.exp.in:
3930         * WebCore.gyp/WebCore.gyp:
3931         * WebCore.gypi:
3932         * WebCore.vcproj/WebCore.vcproj:
3933         * WebCore.xcodeproj/project.pbxproj:
3934         * loader/icon/IconFetcher.cpp: Removed.
3935         * loader/icon/IconFetcher.h: Removed.
3936
3937 2010-10-11  Jia Pu  <jpu@apple.com>
3938
3939         Reviewed by Adele Peterson.
3940
3941         Should commit pending autocorrection before next round of text checking.
3942         https://bugs.webkit.org/show_bug.cgi?id=46986
3943         <rdar://problem/8424535>
3944
3945         1. Apply pending autocorrection before calling markAllMisspellingsAndBadGrammarInRanges().
3946         2. Remove unneccessary calls to dismissCorrectionPanel(), since the panel is dismissed when
3947            selection changes, which occurs after every typing command.
3948
3949         * editing/Editor.cpp:
3950         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Apply pending autocorrection.
3951         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Store current correction replacement
3952           in m_correctionReplacementString.
3953         (WebCore::Editor::startCorrectionPanelTimer): Remove call to dismissCorrectionPanel().
3954         * editing/Editor.h: Add m_correctionReplacementString to store proposed autocorrection string.
3955
3956 2010-10-11  Oliver Hunt  <oliver@apple.com>
3957
3958         Reviewed by Adam Barth.
3959
3960         Make fast/canvas/webgl/glsl-conformance pass again
3961         https://bugs.webkit.org/show_bug.cgi?id=47525
3962
3963         Remove incorrect call to glGetShaderiv, so it is only
3964         called in the case where we don't have our own simulated
3965         log.
3966
3967         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3968         (WebCore::GraphicsContext3D::getShaderInfoLog):
3969
3970 2010-10-11  Sam Weinig  <sam@webkit.org>
3971
3972         Reviewed by Anders Carlsson.
3973
3974         Add WebKit2 equivalents for setValueForUser and setAutoFilled
3975         <rdar://problem/8475934>
3976         https://bugs.webkit.org/show_bug.cgi?id=47524
3977
3978         * WebCore.exp.in: Add needed export.
3979
3980 2010-10-11  Andrei Popescu  <andreip@google.com>
3981
3982         Reviewed by Jeremy Orlow.
3983
3984         The names of IndexedDB-specific attributes of DOMWindow should be prefixed with 'webkit'.
3985         https://bugs.webkit.org/show_bug.cgi?id=47508
3986
3987         * bindings/generic/RuntimeEnabledFeatures.h:
3988         (WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled):
3989         (WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled):
3990         (WebCore::RuntimeEnabledFeatures::webkitIDBCursorEnabled):
3991         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseEnabled):
3992         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseErrorEnabled):
3993         (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseExceptionEnabled):
3994         (WebCore::RuntimeEnabledFeatures::webkitIDBErrorEventEnabled):
3995         (WebCore::RuntimeEnabledFeatures::webkitIDBEventEnabled):
3996         (WebCore::RuntimeEnabledFeatures::webkitIDBFactoryEnabled):
3997         (WebCore::RuntimeEnabledFeatures::webkitIDBIndexEnabled):
3998         (WebCore::RuntimeEnabledFeatures::webkitIDBKeyRangeEnabled):
3999         (WebCore::RuntimeEnabledFeatures::webkitIDBObjectStoreEnabled):
4000         (WebCore::RuntimeEnabledFeatures::webkitIDBRequestEnabled):
4001         (WebCore::RuntimeEnabledFeatures::webkitIDBSuccessEventEnabled):
4002         (WebCore::RuntimeEnabledFeatures::webkitIDBTransactionEnabled):
4003         * page/DOMWindow.cpp:
4004         (WebCore::DOMWindow::webkitIndexedDB):
4005         * page/DOMWindow.h:
4006         * page/DOMWindow.idl:
4007
4008 2010-10-11  Sam Weinig  <sam@webkit.org>
4009
4010         Reviewed by Anders Carlsson.
4011
4012         Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
4013         https://bugs.webkit.org/show_bug.cgi?id=47509
4014
4015         * WebCore.exp.in: Export toNode.
4016
4017 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
4018
4019         Reviewed by Tony Chang.
4020
4021         [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails on GTK+
4022         https://bugs.webkit.org/show_bug.cgi?id=47244
4023
4024         Store the URI list as a String in DataObjectGtk, so that non-URI elements
4025         are preserved when getData(...) is called. This necessitates some other
4026         changes, including adding a m_filenames member to DataObjectGtk to store
4027         filenames extracted during setURIList(...). The logic in getData(...) has
4028         also changed to set success = true no matter what to match the spec. A
4029         followup patch will remove this parameter completely for all platforms.
4030
4031         * platform/gtk/ClipboardGtk.cpp:
4032         (WebCore::ClipboardGtk::getData): Always succeed to match the HTML5
4033         spec and Firefox. Simply return the uriList string from the DataObject
4034         instead of reconstructing it from a vector of KURLs.
4035         (WebCore::ClipboardGtk::setData): The DataObject now accepts a string
4036         for the uriList parameter.
4037         (WebCore::ClipboardGtk::types): Predicate the "Files" member on 
4038         DataObjectGtk::hasFilenames().
4039         (WebCore::ClipboardGtk::files): Update to reflect the change from
4040         DataObjectGtk::files() to DataObjectGtk::filenames().
4041         * platform/gtk/DataObjectGtk.cpp:
4042         (WebCore::DataObjectGtk::setURIList): Expanded this setter to find the
4043         first valid URL to use as the m_url member and also extract a list of filenames
4044         from the URI list.
4045         (WebCore::DataObjectGtk::setURL): Updated to reflect changes to m_uriList.
4046         (WebCore::DataObjectGtk::clear): Updated to reflect changes to m_uriList and
4047         also leave a comment explaining why we do not clear filenames here.
4048         * platform/gtk/DataObjectGtk.h:
4049         (WebCore::DataObjectGtk::url): This implementation is now a simple getter.
4050         (WebCore::DataObjectGtk::uriList): Ditto.
4051         (WebCore::DataObjectGtk::filenames): Added.
4052         (WebCore::DataObjectGtk::hasURL): Now a simple check.
4053         (WebCore::DataObjectGtk::hasFilenames): Added.
4054         (WebCore::DataObjectGtk::clearURIList): Simple setter.
4055         (WebCore::DataObjectGtk::clearURL): Ditto.
4056         * platform/gtk/DragDataGtk.cpp:
4057         (WebCore::DragData::containsFiles): Updated to access DataObjectGtk::hasFilenames().
4058         (WebCore::DragData::asFilenames): Updated to access DataObjectGtk::filenames().
4059         * platform/gtk/PasteboardHelper.cpp:
4060         (WebCore::PasteboardHelper::getClipboardContents): Use the uriList as a string now.
4061         (WebCore::PasteboardHelper::fillSelectionData):  Ditto.
4062         (WebCore::PasteboardHelper::fillDataObjectFromDropData): Ditto.
4063
4064 2010-10-11  James Robinson  <jamesr@chromium.org>
4065
4066         Reviewed by Kenneth Russell.
4067
4068         [chromium] DRT crash in fast/canvas tests w/accel 2D canvas due to NULL DrawingBuffer
4069         https://bugs.webkit.org/show_bug.cgi?id=47241
4070
4071         Avoid initializing accelerated graphics objects on CanvasRenderingContext2D
4072         if there is no drawingContext associated with the canvas.
4073
4074         Test: fast/canvas/access-zero-sized-canvas.html
4075               fast/canvas/canvas-skia-excessive-size.html
4076               fast/canvas/toDataURL-noData.html
4077         with --accelerated-compositing and --accelerated-2d-canvas
4078
4079         * html/canvas/CanvasRenderingContext2D.cpp:
4080         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
4081         (WebCore::CanvasRenderingContext2D::reset):
4082
4083 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
4084
4085         Reviewed by Gustavo Noronha Silva.
4086
4087         [GTK] Cleanup font selection code for the Freetype backend
4088         https://bugs.webkit.org/show_bug.cgi?id=47503
4089
4090         Do some miscellaneous cleanup work in the Freetype font font selection backend.
4091
4092         * platform/graphics/cairo/FontCacheFreeType.cpp:
4093         (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Modified this method to return
4094         a WebCore String.
4095         (WebCore::FontCache::createFontPlatformData): Do a bit of cleanup in this method: properly
4096         handle cursive and fantasy as fallback-like fonts. Instead of using raw CStrings do string
4097         comparisons using WebCore Strings. Remove a large block comment that originated from a
4098         Apache-licensed file.
4099
4100 2010-10-11  Martin Robinson  <mrobinson@igalia.com>
4101
4102         Reviewed by Gustavo Noronha Silva.
4103
4104         [GTK] Buttons activated with the keyboard should be painted as clicked
4105         https://bugs.webkit.org/show_bug.cgi?id=18364
4106
4107         When a button is pressed, force it into the hovered state as far as the
4108         Mozilla theme drawing code is concerned. This bug also seems to be an
4109         issue for Firefox. When we switch away from the Mozilla theme drawing
4110         code this work-around should no longer be necessary.
4111
4112         No new tests. I was not able to generate a pixel test for this issue. It
4113         seems that our DRT does not have the necessary infrastructure to generate a
4114         pixel dump while a button is in the pressed state.
4115
4116         * platform/gtk/RenderThemeGtk.cpp:
4117         (WebCore::RenderThemeGtk::paintRenderObject):
4118
4119 2010-10-11  Jian Li  <jianli@chromium.org>
4120
4121         Unreviewed. Build fix.
4122
4123         * bindings/js/JSArrayBufferCustom.cpp:
4124         * bindings/js/JSArrayBufferViewCustom.cpp:
4125         * bindings/js/JSFloat32ArrayCustom.cpp:
4126         * bindings/js/JSInt16ArrayCustom.cpp:
4127         * bindings/js/JSInt32ArrayCustom.cpp:
4128         * bindings/js/JSInt8ArrayCustom.cpp:
4129         * bindings/js/JSUint16ArrayCustom.cpp:
4130         * bindings/js/JSUint32ArrayCustom.cpp:
4131         * bindings/js/JSUint8ArrayCustom.cpp:
4132         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
4133         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
4134         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
4135         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
4136         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
4137         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
4138         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
4139         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
4140         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
4141
4142 2010-10-11  Brent Fulgham  <bfulgham@webkit.org>
4143
4144         Unreviewed WinCairo build fixes.
4145
4146         * platform/network/curl/ResourceResponse.h: Correct forward declaration
4147         for CFURLResponseRef.
4148         * rendering/RenderMediaControls.h: Add ENABLE(VIDEO) guard to new
4149         header file to avoid build failure on non-VIDEO builds.
4150
4151 2010-10-11  Jian Li  <jianli@chromium.org>
4152
4153         Reviewed by Adam Barth.
4154
4155         Add File API feature guard to all typed array files
4156         https://bugs.webkit.org/show_bug.cgi?id=47437
4157
4158         Since we're going to add ArrayBuffer support to FileReader and BlobBuilder,
4159         we need to update all type array files to include File API feature guard
4160         in addition to the existing 3D_CANVAS guard. When ArrayBuffer is used in
4161         XMLHttpRequest, we will then remove all the guards. This is per the
4162         discussion on webkit-dev mailing list:
4163         https://lists.webkit.org/pipermail/webkit-dev/2010-October/014716.html
4164
4165         * html/canvas/ArrayBuffer.cpp:
4166         * html/canvas/ArrayBuffer.idl:
4167         * html/canvas/ArrayBufferView.cpp:
4168         * html/canvas/ArrayBufferView.idl:
4169         * html/canvas/Float32Array.cpp:
4170         * html/canvas/Float32Array.idl:
4171         * html/canvas/Int16Array.cpp:
4172         * html/canvas/Int16Array.idl:
4173         * html/canvas/Int32Array.cpp:
4174         * html/canvas/Int32Array.idl:
4175         * html/canvas/Int8Array.cpp:
4176         * html/canvas/Int8Array.idl:
4177         * html/canvas/Uint16Array.cpp:
4178         * html/canvas/Uint16Array.idl:
4179         * html/canvas/Uint32Array.cpp:
4180         * html/canvas/Uint32Array.idl:
4181         * html/canvas/Uint8Array.cpp:
4182         * html/canvas/Uint8Array.idl:
4183
4184 2010-10-11  Andreas Kling  <kling@webkit.org>
4185
4186         Build fix (implicit float conversion in Path.cpp)
4187
4188         * platform/graphics/Path.cpp:
4189
4190 2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
4191
4192         Reviewed by Kenneth Rohde Christiansen.
4193
4194         [Qt] Refactor Plugin X Pixmap painting code to a separate function
4195
4196         The refactored function will be used for rendering by the Accelerated
4197         Composition enabled graphics layer.
4198
4199         https://bugs.webkit.org/show_bug.cgi?id=35524
4200
4201         * plugins/PluginView.h:
4202         * plugins/qt/PluginViewQt.cpp:
4203         (WebCore::PluginView::paintUsingXPixmap):
4204         (WebCore::PluginView::paint):
4205
4206 2010-10-11  Andreas Kling  <kling@webkit.org>
4207
4208         Reviewed by Dirk Schulze.
4209
4210         SVG: Remove "create" methods and use port-specific "add" counterparts
4211         https://bugs.webkit.org/show_bug.cgi?id=46052
4212
4213         Circles and ellipses will be significantly faster on platforms that
4214         implement Path::addEllipse() in a sane fashion.
4215
4216         Also, a lot of Path copying has been factored out by changing functions
4217         that would return Paths to take Path& arguments instead (toPathData, toClipPath)
4218
4219         * mathml/RenderMathMLRoot.cpp: