f0da790dba1fb9fe0dc91efb69a722e1b6e42589
[WebKit-https.git] / WebCore / ChangeLog
1 2010-08-20  Kinuko Yasuda  <kinuko@chromium.org>
2
3         Unreviewed; build fix.  Had included wrong version of build file.
4
5 2010-08-20  Martin Robinson  <mrobinson@igalia.com>
6
7         Reviewed by Joseph Pecoraro.
8
9         [GTK] Inspector extensions tests fail on GTK+ bots because onSelectionChanged is missing
10         https://bugs.webkit.org/show_bug.cgi?id=44342
11
12         * GNUmakefile.am: Fix dependency tracking for copied web inspector files.
13
14 2010-08-20  Kinuko Yasuda  <kinuko@chromium.org>
15
16         Reviewed by Darin Fisher.
17
18         Add Callback implementation for FileSystem API
19         https://bugs.webkit.org/show_bug.cgi?id=44349
20
21         No new tests; tests will be added later.
22
23         * CMakeLists.txt:
24         * GNUmakefile.am:
25         * WebCore.gypi:
26         * WebCore.pro:
27         * WebCore.vcproj/WebCore.vcproj:
28         * WebCore.xcodeproj/project.pbxproj:
29         * storage/FileSystemCallbacks.cpp: Added.
30         * storage/FileSystemCallbacks.h: Added.
31
32         * storage/EntryCallback.h: Nits fix
33         * storage/FileSystemCallback.h: Nits fix
34
35 2010-08-20  Andreas Kling  <andreas.kling@nokia.com>
36
37         Reviewed by Ariya Hidayat.
38
39         [Qt] WebKit does not compile with --3d-canvas
40         https://bugs.webkit.org/show_bug.cgi?id=44335
41
42         - PlatformGLObject => Platform3DObject
43         - Implemented getAttachedShaders()
44         - Implemented bufferData() and bufferSubData() for ArrayBuffer*
45         - Removed reference to nonexistent variable in getImageData()
46
47         * platform/graphics/qt/GraphicsContext3DQt.cpp:
48         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
49         (WebCore::GraphicsContext3D::attachShader):
50         (WebCore::GraphicsContext3D::getAttachedShaders):
51         (WebCore::GraphicsContext3D::bindAttribLocation):
52         (WebCore::GraphicsContext3D::bindBuffer):
53         (WebCore::GraphicsContext3D::bindFramebuffer):
54         (WebCore::GraphicsContext3D::bindRenderbuffer):
55         (WebCore::GraphicsContext3D::bindTexture):
56         (WebCore::GraphicsContext3D::bufferData):
57         (WebCore::GraphicsContext3D::bufferSubData):
58         (WebCore::GraphicsContext3D::compileShader):
59         (WebCore::GraphicsContext3D::detachShader):
60         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
61         (WebCore::GraphicsContext3D::framebufferTexture2D):
62         (WebCore::GraphicsContext3D::getActiveAttrib):
63         (WebCore::GraphicsContext3D::getActiveUniform):
64         (WebCore::GraphicsContext3D::getAttribLocation):
65         (WebCore::GraphicsContext3D::isBuffer):
66         (WebCore::GraphicsContext3D::isFramebuffer):
67         (WebCore::GraphicsContext3D::isProgram):
68         (WebCore::GraphicsContext3D::isRenderbuffer):
69         (WebCore::GraphicsContext3D::isShader):
70         (WebCore::GraphicsContext3D::isTexture):
71         (WebCore::GraphicsContext3D::linkProgram):
72         (WebCore::GraphicsContext3D::shaderSource):
73         (WebCore::GraphicsContext3D::useProgram):
74         (WebCore::GraphicsContext3D::validateProgram):
75         (WebCore::GraphicsContext3D::getProgramiv):
76         (WebCore::GraphicsContext3D::getProgramInfoLog):
77         (WebCore::GraphicsContext3D::getShaderiv):
78         (WebCore::GraphicsContext3D::getShaderInfoLog):
79         (WebCore::GraphicsContext3D::getShaderSource):
80         (WebCore::GraphicsContext3D::getUniformfv):
81         (WebCore::GraphicsContext3D::getUniformiv):
82         (WebCore::GraphicsContext3D::getUniformLocation):
83         (WebCore::GraphicsContext3D::getImageData):
84         * platform/graphics/qt/GraphicsLayerQt.h:
85
86 2010-08-20  Dan Bernstein  <mitz@apple.com>
87
88         Reviewed by Dave Kilzer.
89
90         #ifdef-out some Leopard-and-earlier code.
91
92         * platform/graphics/mac/FontCustomPlatformData.cpp:
93         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
94
95 2010-08-20  Kenneth Russell  <kbr@google.com>
96
97         Unreviewed, speculative Chromium build fix. Forward declare
98         IntSize in WebGLRenderingContext.h and include IntSize.h in .cpp.
99
100         * html/canvas/WebGLRenderingContext.cpp:
101         * html/canvas/WebGLRenderingContext.h:
102
103 2010-08-20  Eric Carlson  <eric.carlson@apple.com>
104
105         Reviewed by Dan Bernstein.
106
107         Media element canPlayType("application/octet-stream") not handled correctly
108         https://bugs.webkit.org/show_bug.cgi?id=44343
109
110         Test: media/media-can-play-octet-stream.html
111
112         * platform/graphics/MediaPlayer.cpp:
113         (WebCore::applicationOctetStream): New, accessor for static string used more than once.
114         (WebCore::textPlain): Ditto.
115         (WebCore::codecs): Ditto.
116         (WebCore::chooseBestEngineForTypeAndCodecs): Special case "application/octet-stream".
117         (WebCore::MediaPlayer::load): Use static static string methods.
118         (WebCore::MediaPlayer::supportsType): Special case "application/octet-stream".
119
120 2010-08-20  Adrienne Walker  <enne@google.com>
121
122         Reviewed by Kenneth Russell.
123
124         Implement HTMLVideoElement support for texImage2D and texSubImage2D
125         https://bugs.webkit.org/show_bug.cgi?id=33852
126
127         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html
128
129         * html/canvas/WebGLRenderingContext.cpp:
130         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
131         (WebCore::WebGLRenderingContext::videoFrameToImage):
132         (WebCore::WebGLRenderingContext::texImage2D):
133         (WebCore::WebGLRenderingContext::texSubImage2D):
134         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
135         (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
136         (WebCore::WebGLRenderingContext::LRUImageBufferCache::bubbleToFront):
137         * html/canvas/WebGLRenderingContext.h:
138
139 2010-08-20  Dumitru Daniliuc  <dumi@chromium.org>
140
141         Reviewed by Adam Barth.
142
143         Removing an incorrect ASSERT.
144         https://bugs.webkit.org/show_bug.cgi?id=44151
145
146         A failure in the preflight step of a transaction wrapper does not
147         guarantee that the transaction is rolled back (and it shouldn't).
148
149         Test: storage/change-version-no-crash-on-preflight-failure.html
150
151         * storage/SQLTransaction.cpp:
152         (WebCore::SQLTransaction::openTransactionAndPreflight):
153
154 2010-08-20  David Leong  <david.leong@nokia.com>
155
156         Reviewed by Laszlo Gombos.
157
158         [Qt] Update Symbian capabilities to remove AllFiles and DRM
159         
160         Add CONFIG(production) variation for set of DLL capabilities.
161         DRM and AllFiles capabilities need to be audited for the sis
162         package to be signed.
163         
164         No new tests.
165
166         * WebCore.pro: Updated Symbian Capabilities. 
167
168 2010-08-20  Joseph Pecoraro  <joepeck@webkit.org>
169
170         Reviewed by David Kilzer.
171
172         Do Not Copy Subversion Related Files in Inspector Build Phase
173         https://bugs.webkit.org/show_bug.cgi?id=44353
174
175         * WebCore.xcodeproj/project.pbxproj: remove .svn directories in the "Copy Inspector Resources" build phase.
176
177 2010-08-19  Ryosuke Niwa  <rniwa@webkit.org>
178
179         Reviewed by Adam Barth.
180
181         style correction in markup.cpp
182         https://bugs.webkit.org/show_bug.cgi?id=44318
183
184         Make markup.cpp pass check-webkit-style.
185
186         No new tests are added since this is a cleanup.
187
188         * editing/markup.cpp:
189         (WebCore::MarkupAccumulator::appendAttributeValue):
190         (WebCore::appendEscapedContent):
191         (WebCore::MarkupAccumulator::appendStartMarkup):
192         (WebCore::completeURLs):
193         (WebCore::isElementPresentational):
194         (WebCore::isSpecialAncestorBlock):
195         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
196         (WebCore::createMarkup):
197         (WebCore::fillContainerFromString):
198         (WebCore::createFragmentFromText):
199         (WebCore::createFragmentFromNodes):
200
201 2010-08-20  Tony Chang  <tony@chromium.org>
202
203         Reviewed by Adam Barth.
204
205         crash when trying to access a stale Node pointer in FocusController::setFocusedNode
206         https://bugs.webkit.org/show_bug.cgi?id=44226
207
208         Test: fast/events/focus-change-crash2.html
209
210         * page/FocusController.cpp:
211         (WebCore::FocusController::setFocusedNode): add a ref to prevent the focused node from being deleted
212
213 2010-08-20  Simon Fraser  <simon.fraser@apple.com>
214
215         Reviewed by Dan Bernstein.
216
217         <rdar://problem/8245719> backface-visibility and reflections don't play nicely together.
218         
219         On elements with a reflection and backface-visibility: hidden, set the doubleSided property on the 
220         reflection flattening layer so that backface-visibility works in all configurations.
221
222         Test: compositing/reflections/backface-hidden-reflection.html
223
224         * platform/graphics/mac/GraphicsLayerCA.mm:
225         (WebCore::GraphicsLayerCA::updateBackfaceVisibility): Call setDoubleSided: on the structural
226         layer for reflections.
227         (WebCore::GraphicsLayerCA::ensureStructuralLayer): Fix a comment typo, and call updateBackfaceVisibility()
228         when we gain a structural layer.
229
230 2010-08-20  Simon Fraser  <simon.fraser@apple.com>
231
232         Reviewed by Dan Bernstein.
233
234         Slider labels do not update as you move the sliders on this page
235         https://bugs.webkit.org/show_bug.cgi?id=41020
236         
237         When repainting after layout in a multicol element, we need to adjust the
238         repaint rect for the columns.
239
240         Test: fast/repaint/multicol-repaint.html
241
242         * rendering/RenderBlock.cpp:
243         (WebCore::RenderBlock::layoutBlock):
244
245 2010-08-20  Jian Li  <jianli@chromium.org>
246
247         Reviewed by David Levin.
248
249         Move FileStreamClient to platform and add AsyncFileStream interface.
250         https://bugs.webkit.org/show_bug.cgi?id=44224
251
252         * GNUmakefile.am:
253         * WebCore.gypi:
254         * WebCore.pro:
255         * WebCore.vcproj/WebCore.vcproj:
256         * WebCore.xcodeproj/project.pbxproj:
257         * html/FileStreamProxy.cpp: Account for the change.
258         (WebCore::FileStreamProxy::FileStreamProxy):
259         (WebCore::FileStreamProxy::stop):
260         * html/FileStreamProxy.h: Make it derive from AsyncFileStream.h.
261         * platform/AsyncFileStream.h: Added.
262         * platform/FileStreamClient.h: Renamed from WebCore/html/FileStreamClient.h.
263
264 2010-08-20  Abhishek Arya  <inferno@chromium.org>
265
266         Reviewed by Darin Fisher.
267
268         Prevent use of stale notification presenter pointer in notifications by instead using
269         a notification center pointer and deriving the presenter from it. Notification presenter
270         gets properly destroyed using disconnectFrame function inside notification center. Add
271         null checks for notification presenter.
272         https://bugs.webkit.org/show_bug.cgi?id=43645
273
274         Test: fast/notifications/notifications-window-close-crash.html
275
276         * notifications/Notification.cpp:
277         (WebCore::Notification::Notification):
278         (WebCore::Notification::create):
279         (WebCore::Notification::show):
280         (WebCore::Notification::cancel):
281         (WebCore::Notification::contextDestroyed):
282         (WebCore::Notification::finishLoading):
283         * notifications/Notification.h:
284         (WebCore::Notification::detachPresenter):
285         * notifications/NotificationCenter.h:
286         (WebCore::NotificationCenter::createHTMLNotification):
287         (WebCore::NotificationCenter::createNotification):
288
289 2010-08-20  Martin Robinson  <mrobinson@igalia.com>
290
291         Reviewed by Xan Lopez.
292
293         r64526 broke the GTK+-3 build
294         https://bugs.webkit.org/show_bug.cgi?id=44254
295
296         No new tests, as this is covered by manual-tests/cursor.html.
297
298         * platform/gtk/CursorGtk.cpp:
299         (WebCore::createPixmapFromBits): Added this method which turns the inline data
300         structures into GdkPixmaps using Cairo and GDK-Cairo.
301         (WebCore::createNamedCursor): Modified this method to use the new helper.
302         * platform/gtk/CursorGtk.h: Changed all inline data structures to be unsigned
303         char arrays (which Cairo requires). The progress cursor is known in X11 icon themes
304         as "left_ptr_watch." This change to the name preserves the old behavior of taking this
305         icon from the theme when available. It seems that this worked in the past due to a fluke
306         or failure of the previous code.
307
308 2010-08-20  Martin Robinson  <mrobinson@igalia.com>
309
310         Reviewed by Dirk Schulze.
311
312         [Cairo] Eliminate full-surface copy from canvas.drawImage(...)
313         https://bugs.webkit.org/show_bug.cgi?id=44190
314
315         Covered by canvas layout tests.
316
317         * platform/graphics/cairo/ImageBufferCairo.cpp:
318         (WebCore::ImageBuffer::drawsUsingCopy): Return false now.
319         (WebCore::ImageBuffer::clip): Add a link to the bug which tracks this feature.
320         (WebCore::ImageBuffer::draw): Construct the bitmap image without the full-surface copy.
321         (WebCore::ImageBuffer::drawPattern): Ditto.
322
323 2010-08-20  Alejandro G. Castro  <alex@igalia.com>
324
325         Reviewed by Xan Lopez.
326
327         [REGRESSION] r65608 broke gtk distcheck
328         https://bugs.webkit.org/show_bug.cgi?id=44333
329
330         Define the inspector.html as a noinst_DATA intead of using the dir
331         suffix, which is used for installation.
332
333         * GNUmakefile.am:
334
335 2010-08-19  Pavel Podivilov  <podivilov@chromium.org>
336
337         Reviewed by Yury Semikhatsky.
338
339         Web Inspector: implement breaking on DOM node subtree mutations.
340         https://bugs.webkit.org/show_bug.cgi?id=42886
341
342         Add two entries to Web Inspector DOM element context menu:
343         1. "Stop on subtree modifications": will break on adding/removing of any element which is a child of the DOM element
344         2. "Remove breakpoints": will remove all breakpoints associated with the DOM element
345
346         * English.lproj/localizedStrings.js:
347         * bindings/js/ScriptDebugServer.cpp:
348         (WebCore::ScriptDebugServer::breakProgram):
349         * bindings/js/ScriptDebugServer.h:
350         * bindings/v8/ScriptDebugServer.cpp:
351         (WebCore::ScriptDebugServer::breakProgram):
352         (WebCore::ScriptDebugServer::breakProgramCallback):
353         (WebCore::ScriptDebugServer::handleV8DebugEvent):
354         * bindings/v8/ScriptDebugServer.h:
355         * inspector/Inspector.idl:
356         * inspector/InspectorDOMAgent.cpp:
357         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
358         (WebCore::InspectorDOMAgent::discardBindings):
359         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
360         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
361         (WebCore::InspectorDOMAgent::didInsertDOMNode):
362         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
363         (WebCore::InspectorDOMAgent::hasBreakpoint):
364         (WebCore::InspectorDOMAgent::pauseOnBreakpoint):
365         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
366         * inspector/InspectorDOMAgent.h:
367         * inspector/front-end/ElementsTreeOutline.js:
368         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
369         * inspector/front-end/Settings.js:
370
371 2010-08-20  Yury Semikhatsky  <yurys@chromium.org>
372
373         Reviewed by Pavel Feldman.
374
375         Web Inspector: discard InjectedScript reference on ScriptState when clearing injected scripts
376         https://bugs.webkit.org/show_bug.cgi?id=44328
377
378         Otherwise if the reference is not cleared we may remove InjectedScript from the
379         map on InjectedScriptHost but keep it on ScriptState and try to reuse it later.
380
381         * bindings/js/JSInjectedScriptHostCustom.cpp:
382         (WebCore::InjectedScriptHost::discardInjectedScript):
383         * bindings/v8/V8HiddenPropertyName.h:
384         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
385         (WebCore::InjectedScriptHost::discardInjectedScript):
386         (WebCore::InjectedScriptHost::injectedScriptFor):
387         * inspector/InjectedScript.h:
388         (WebCore::InjectedScript::scriptState):
389         * inspector/InjectedScriptHost.cpp:
390         (WebCore::InjectedScriptHost::discardInjectedScripts):
391         * inspector/InjectedScriptHost.h:
392
393 2010-08-20  Nikolas Zimmermann  <nzimmermann@rim.com>
394
395         Reviewed by Dirk Schulze.
396
397         Clippers are rasterized, when applied to scaled target object
398         https://bugs.webkit.org/show_bug.cgi?id=44325
399
400         Use SVGImageBufferTools logic for RenderSVGResourceClipper, just like RenderSVGResourceMasker/Gradient,
401         to avoid pixelation, when the clipper is applied to a scaled target object, or when the document is scaled.
402
403         Test: svg/clip-path/clip-path-pixelation.svg
404
405         * rendering/RenderSVGResourceClipper.cpp:
406         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
407         (WebCore::RenderSVGResourceClipper::createClipData):
408         * rendering/RenderSVGResourceClipper.h:
409
410 2010-08-20  Andreas Kling  <andreas.kling@nokia.com>
411
412         Reviewed by Kenneth Rohde Christiansen.
413
414         [Qt] Initialize GDK before loading plugins
415         https://bugs.webkit.org/show_bug.cgi?id=44324
416
417         Attempt to call gdk_init_check() before loading any plugins.
418         This prevents various crashes and freezes in Adobe's Flash plugin.
419
420         * plugins/qt/PluginPackageQt.cpp:
421         (WebCore::initializeGdkIfPossible):
422         (WebCore::PluginPackage::load):
423
424 2010-08-20  Dan Bernstein  <mitz@apple.com>
425
426         Reviewed by Mark Rowe.
427
428         Follow-up to r41020.
429
430         No change in behavior, thus no new tests.
431
432         * platform/graphics/mac/FontPlatformDataMac.mm:
433         (WebCore::FontPlatformData::FontPlatformData): Asserted that the NSFont parameter is not nil,
434         and removed nil check.
435         (WebCore::FontPlatformData::setFont): Asserted that the NSFont parameter is not nil and that
436         this is not the deleted value, and removed code to handle those cases.
437
438 2010-08-19  Vincent Scheib  <scheib@chromium.org>
439
440         Reviewed by David Levin.
441
442         [chromium] TilingData::tilePositionY has typo of X where Y should be used
443         https://bugs.webkit.org/show_bug.cgi?id=44195
444
445         Corrected error, and rewrote functions to use for loop instead of recursion.
446
447         Unit Tests added to WebKit/chromium/tests/TilingDataTest.cpp
448
449         * platform/graphics/chromium/TilingData.cpp:
450         (WebCore::TilingData::tilePositionX):
451         (WebCore::TilingData::tilePositionY):
452
453 2010-08-19  Mihai Parparita  <mihaip@chromium.org>
454
455         Reviewed by Brady Eidson.
456
457         Assertion failure when going back inside frame during onload
458         https://bugs.webkit.org/show_bug.cgi?id=44217
459
460         Fix assertion failure when doing a history.back() within the main frame
461         during onload of a child frame. This would happen when
462         HISTORY_ALWAYS_ASYNC was set to 0, because we would only compare the
463         current frame document sequence numbers when determining if we're in the
464         same document, instead of also recursing over child frames.
465
466         Test: fast/history/history-back-within-subframe-hash.html
467
468         * history/HistoryItem.cpp:
469         (WebCore::HistoryItem::hasSameDocuments):
470         * history/HistoryItem.h:
471         * loader/RedirectScheduler.cpp:
472         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
473
474 2010-08-19  Balazs Kelemen  <kb@inf.u-szeged.hu>
475
476         Reviewed by Antonio Gomes.
477
478         [Qt] Fix cursor change propagation
479         https://bugs.webkit.org/show_bug.cgi?id=44250
480
481         No functional change so new tests.
482
483         Propagate the setCursor callback to the PageClient via the HostWindow instead of preassuming
484         the concrete type of the ChromeClient (what was generally wrong and actually incompatible with WebKit2).
485         * platform/qt/WidgetQt.cpp:
486         (WebCore::Widget::setCursor):
487
488 2010-08-19  Vangelis Kokkevis  <vangelis@chromium.org>
489
490         Reviewed by Kenneth Russell.
491
492         [chromium] Rearranging the accelerated compositing code such that the
493         layer rendering logic now lives in the layer classes rather than the
494         compositor. This lifts the restriction of having one texture per layer
495         and significantly cleans up the compositor code. This change mostly
496         resulted in a lot of code moving around files. Noteworthy changes
497         include:
498         * Made LayerChromium a proper based class for layers that mostly handles
499           the updates to the layer properties and superlayer / sublayer updates.
500         * Introduced a new layer type, ContentLayerChromium, which handles
501           layers that require a GraphicsContext to render their content.
502         * ImageLayerChromium and VideoLayerChromium now derive from
503           ContentLayerChromium as they share the same shader and draw function.
504         * Removed TransformLayerChromium as its functionality is now replaced by
505           the base LayerChromium class.
506         * Re-arranged the order in which the members of LayerChromium are defined
507           in the header file to form a more reasonable logical grouping.
508         * Changed LayerRendererChromium to use the shader creation and drawing
509           methods defined in the layer classes. As a result, a lot of GL code was
510           removed from the implementation file.
511         * Eliminated randomly dispersed calls to check for GL errors by a macro (GLC)
512           which allows turning error testing on/off with a single define (DEBUG_GL_CALLS
513           defined in LayerRendererChromium.h)
514         * Replaced the previous layer render loop with two traversals of the layer
515           hierarchy, the first to update transforms and opacity values and the
516           second to render the layers. Eliminated global Z sorting of all layers as
517           it was wrong.
518         https://bugs.webkit.org/show_bug.cgi?id=44148
519
520         Test: Verified that pages using the compositor and compositor
521               layout tests have not regressed.
522
523         * WebCore.gypi:
524         * platform/graphics/chromium/CanvasLayerChromium.cpp:
525         (WebCore::CanvasLayerChromium::SharedValues::SharedValues):
526         (WebCore::CanvasLayerChromium::SharedValues::~SharedValues):
527         (WebCore::CanvasLayerChromium::updateContents):
528         (WebCore::CanvasLayerChromium::draw):
529         * platform/graphics/chromium/CanvasLayerChromium.h:
530         (WebCore::CanvasLayerChromium::SharedValues::canvasShaderProgram):
531         (WebCore::CanvasLayerChromium::SharedValues::shaderSamplerLocation):
532         (WebCore::CanvasLayerChromium::SharedValues::shaderMatrixLocation):
533         (WebCore::CanvasLayerChromium::SharedValues::shaderAlphaLocation):
534         (WebCore::CanvasLayerChromium::SharedValues::initialized):
535         * platform/graphics/chromium/ContentLayerChromium.cpp: Added.
536         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
537         (WebCore::ContentLayerChromium::SharedValues::~SharedValues):
538         (WebCore::ContentLayerChromium::create):
539         (WebCore::ContentLayerChromium::ContentLayerChromium):
540         (WebCore::ContentLayerChromium::~ContentLayerChromium):
541         (WebCore::ContentLayerChromium::updateContents):
542         (WebCore::ContentLayerChromium::updateTextureRect):
543         (WebCore::ContentLayerChromium::draw):
544         * platform/graphics/chromium/ContentLayerChromium.h: Added.
545         (WebCore::ContentLayerChromium::drawsContent):
546         (WebCore::ContentLayerChromium::SharedValues::contentShaderProgram):
547         (WebCore::ContentLayerChromium::SharedValues::shaderSamplerLocation):
548         (WebCore::ContentLayerChromium::SharedValues::shaderMatrixLocation):
549         (WebCore::ContentLayerChromium::SharedValues::shaderAlphaLocation):
550         (WebCore::ContentLayerChromium::SharedValues::initialized):
551         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
552         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
553         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
554         * platform/graphics/chromium/ImageLayerChromium.cpp:
555         (WebCore::ImageLayerChromium::ImageLayerChromium):
556         (WebCore::ImageLayerChromium::updateContents):
557         * platform/graphics/chromium/ImageLayerChromium.h:
558         * platform/graphics/chromium/LayerChromium.cpp:
559         (WebCore::loadShader):
560         (WebCore::LayerChromium::SharedValues::SharedValues):
561         (WebCore::LayerChromium::SharedValues::~SharedValues):
562         (WebCore::LayerChromium::LayerChromium):
563         (WebCore::LayerChromium::~LayerChromium):
564         (WebCore::LayerChromium::createShaderProgram):
565         (WebCore::LayerChromium::toGLMatrix):
566         (WebCore::LayerChromium::drawTexturedQuad):
567         (WebCore::LayerChromium::drawDebugBorder):
568         (WebCore::LayerChromium::prepareForDraw):
569         * platform/graphics/chromium/LayerChromium.h:
570         (WebCore::LayerChromium::getSublayers):
571         (WebCore::LayerChromium::setPosition):
572         (WebCore::LayerChromium::contentsDirty):
573         (WebCore::LayerChromium::drawsContent):
574         (WebCore::LayerChromium::updateContents):
575         (WebCore::LayerChromium::draw):
576         (WebCore::LayerChromium::SharedValues::quadVerticesVbo):
577         (WebCore::LayerChromium::SharedValues::quadElementsVbo):
578         (WebCore::LayerChromium::SharedValues::maxTextureSize):
579         (WebCore::LayerChromium::SharedValues::borderShaderProgram):
580         (WebCore::LayerChromium::SharedValues::borderShaderMatrixLocation):
581         (WebCore::LayerChromium::SharedValues::borderShaderColorLocation):
582         (WebCore::LayerChromium::SharedValues::initialized):
583         (WebCore::LayerChromium::layerRenderer):
584         * platform/graphics/chromium/LayerRendererChromium.cpp:
585         (WebCore::LayerRendererChromium::LayerRendererChromium):
586         (WebCore::LayerRendererChromium::~LayerRendererChromium):
587         (WebCore::LayerRendererChromium::debugGLCall):
588         (WebCore::LayerRendererChromium::useShader):
589         (WebCore::LayerRendererChromium::drawLayers):
590         (WebCore::LayerRendererChromium::createLayerTexture):
591         (WebCore::LayerRendererChromium::updateLayersRecursive):
592         (WebCore::LayerRendererChromium::drawLayersRecursive):
593         (WebCore::LayerRendererChromium::drawLayer):
594         (WebCore::LayerRendererChromium::checkTextureSize):
595         (WebCore::LayerRendererChromium::initializeSharedObjects):
596         (WebCore::LayerRendererChromium::cleanupSharedObjects):
597         * platform/graphics/chromium/LayerRendererChromium.h:
598         (WebCore::LayerRendererChromium::projectionMatrix):
599         (WebCore::LayerRendererChromium::layerSharedValues):
600         (WebCore::LayerRendererChromium::contentLayerSharedValues):
601         (WebCore::LayerRendererChromium::canvasLayerSharedValues):
602         * platform/graphics/chromium/TransformLayerChromium.cpp: Removed.
603         * platform/graphics/chromium/TransformLayerChromium.h: Removed.
604         * platform/graphics/chromium/VideoLayerChromium.cpp:
605         (WebCore::VideoLayerChromium::VideoLayerChromium):
606         (WebCore::VideoLayerChromium::updateContents):
607         (WebCore::VideoLayerChromium::createTextureRect):
608         * platform/graphics/chromium/VideoLayerChromium.h:
609
610 2010-08-19  David Kilzer  <ddkilzer@apple.com>
611
612         BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins
613
614         * WebCore.exp.in:
615         (WebCore::ScrollView::contentsToWindow): Added export.
616
617 2010-08-19  David Kilzer  <ddkilzer@apple.com>
618
619         BUILD FIX #3: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
620
621         Still trying to make Qt Linux Release minimal buildbot happy.
622
623         * plugins/PluginViewNone.cpp: Compile missing methods for Qt.
624
625 2010-08-19  David Kilzer  <ddkilzer@apple.com>
626
627         BUILD FIX: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
628
629         Reviewed by Joseph Pecoraro.
630
631         * plugins/PluginView.cpp: Added #if ENABLE(NETSCAPE_PLUGIN_API)
632         and #endif macros around the source to fix the Qt Linux Release
633         Minimal build.
634
635 2010-08-19  Stephen White  <senorblanco@chromium.org>
636
637         Reviewed by Kenneth Russell.
638
639         [CHROMIUM] Assert w/canvas image draw
640         https://bugs.webkit.org/show_bug.cgi?id=44279
641
642         Don't use bitmap->pixelRef()->getPixels() directly; prefer
643         bitmap->pixels() and an SkAutoLockPixels.  Also, make sure to set
644         the backing store state to Software when it was None.  This handles
645         missing draws when the first call is software.  Finally, remove some
646         spurious prepareForSoftwareDraw() calls in addPath() and beginPath().
647         It's really the fillPath() or strokePath() that matters.
648
649         Covered by LayoutTests/fast/canvas/arc360.html and others.
650
651         * platform/graphics/skia/GraphicsContextSkia.cpp:
652         (WebCore::GraphicsContext::addPath):
653         (WebCore::GraphicsContext::beginPath):
654         Remove spurious prepareForSoftwareDraw() calls.
655         * platform/graphics/skia/ImageSkia.cpp:
656         (WebCore::drawBitmapGLES2):
657         Lock SkBitmap's pixels, and use ->getPixels().
658         * platform/graphics/skia/PlatformContextSkia.cpp:
659         (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
660         Switch backing store state to Software when it was None.
661
662 2010-08-19  David Kilzer  <ddkilzer@apple.com>
663
664         <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
665
666         Reviewed by Joseph Pecoraro.
667
668         * WebCore.exp.in:
669         (WebCore::HTMLPlugInElement::getNPObject): Moved from general
670         section into ENABLE(NETSCAPE_PLUGIN_API) section.
671         (WebCore::FrameView::windowClipRectForLayer): Moved from
672         ENABLE(NETSCAPE_PLUGIN_API) section to general section since
673         it's used by WebKit2.
674         * plugins/PluginView.h: Added #if ENABLE(NETSCAPE_PLUGIN_API)
675         and #endif macros as needed to make iOS WebKit build with
676         NETSCAPE_PLUGIN_API disabled.
677         * plugins/PluginViewNone.cpp: Ditto.
678         (WebCore::PluginView::platformGetValueStatic):
679
680 2010-08-17  Eric Seidel  <eric@webkit.org>
681
682         Reviewed by Adam Barth.
683
684         Make DocumentParser safer to use
685         https://bugs.webkit.org/show_bug.cgi?id=43055
686
687         Make DocumentParser and its subclasses RefCounted, and protect
688         HTMLDocumentParser during parsing. It's possible for a parser to
689         get deleted if certain actions (e.g., a document.write()) occur
690         synchronously.
691
692         The original version of this patch was written by Nate Chapin.
693
694         DocumentParser doesn't actually have to be fully RefCounted, since
695         the only two things which should ever hold a reference to it are
696         Document and DocumentParser itself.  However using RefCounted and
697         RefPtr was easier/cleaner than inventing a custom ref() scheme.
698
699         This deploys a new "detach()" method throughout the parsing
700         framework.  detach() causes the parser to disconnect from the
701         document so that no further modifications will be made to the
702         document while any possible DocumentParser stacks are unwound.
703
704         The irony of this patch is that the new detach() system is never
705         used, since Document always outlives the DocumentParser in all of
706         our layout tests.  There is an ASSERT in ~Document() to verify
707         that the DocumentParser will not outlive the Document.
708
709         However I expect that we will soon either find new test cases, or change
710         the architecture in such a way that DocumentParser will outlive
711         Document.  At which point, the detach() plumbing will be crucial.
712         Right now detach() serves as a safe-guard against use-after-free bugs
713         for any case where DocumentParser does outlive the Document.
714
715         This also fixes test cases attached to:
716         https://bugs.webkit.org/show_bug.cgi?id=42099
717
718         Tests: fast/frames/document-write-in-iframe-onload.html
719                fast/frames/set-parent-src-synchronously.html
720                fast/parser/document-close-iframe-load.html
721                fast/parser/document-close-nested-iframe-load.html
722                fast/parser/iframe-sets-parent-to-javascript-url.html
723
724         * dom/Document.cpp:
725          - Added a new detachParser() call to be used anywhere we
726            used to call m_parser.clear().
727            There is an ASSERT in ~DocumentParser which ensures that
728            we get this right.
729         (WebCore::Document::removedLastRef):
730         (WebCore::Document::~Document):
731         (WebCore::Document::createParser):
732         (WebCore::Document::detachParser):
733         (WebCore::Document::cancelParsing):
734         (WebCore::Document::implicitOpen):
735          - removed redundant m_parser.clear()
736         (WebCore::Document::implicitClose):
737         * dom/Document.h:
738         * dom/DocumentParser.cpp:
739         (WebCore::DocumentParser::~DocumentParser):
740          - ASSERT that callers always call detach() before destruction.
741          - This ASSERT might prove too cumbersome, but for now it's useful.
742         (WebCore::DocumentParser::detach):
743         * dom/DocumentParser.h:
744         * dom/RawDataDocumentParser.h:
745         * dom/XMLDocumentParser.cpp:
746         (WebCore::XMLDocumentParser::finish):
747          - Add a FIXME explaining part of the reason why
748            stopParsing() and detach() are separate concepts.
749         * dom/XMLDocumentParser.h:
750         (WebCore::XMLDocumentParser::create):
751         * dom/XMLDocumentParserLibxml2.cpp:
752         (WebCore::XMLDocumentParser::parseDocumentFragment):
753         * dom/XMLDocumentParserQt.cpp:
754         (WebCore::XMLDocumentParser::parseDocumentFragment):
755         * html/HTMLConstructionSite.cpp:
756         (WebCore::HTMLConstructionSite::detach):
757         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
758         * html/HTMLConstructionSite.h:
759         * html/HTMLDocument.cpp:
760         (WebCore::HTMLDocument::createParser):
761         * html/HTMLDocument.h:
762         * html/HTMLDocumentParser.cpp:
763          - We need to protect(this) before calling into any code
764            which might cause the parser to be destroyed.
765         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
766         (WebCore::HTMLDocumentParser::detach):
767         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
768         (WebCore::HTMLDocumentParser::pumpTokenizer):
769         (WebCore::HTMLDocumentParser::insert):
770         (WebCore::HTMLDocumentParser::append):
771         (WebCore::HTMLDocumentParser::end):
772         (WebCore::HTMLDocumentParser::finish):
773         (WebCore::HTMLDocumentParser::notifyFinished):
774         (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
775         (WebCore::HTMLDocumentParser::parseDocumentFragment):
776         * html/HTMLDocumentParser.h:
777         (WebCore::HTMLDocumentParser::create):
778         * html/HTMLScriptRunner.cpp:
779         (WebCore::HTMLScriptRunner::detach):
780         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
781         (WebCore::HTMLScriptRunner::executeScript):
782         (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
783         (WebCore::HTMLScriptRunner::runScript):
784         * html/HTMLScriptRunner.h:
785         * html/HTMLTreeBuilder.cpp:
786         (WebCore::HTMLTreeBuilder::detach):
787         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
788         (WebCore::HTMLTreeBuilder::finished):
789         * html/HTMLTreeBuilder.h:
790         * html/HTMLViewSourceDocument.cpp:
791         (WebCore::HTMLViewSourceDocument::createParser):
792         * html/HTMLViewSourceDocument.h:
793         * html/HTMLViewSourceParser.cpp:
794         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
795         * html/HTMLViewSourceParser.h:
796         (WebCore::HTMLViewSourceParser::create):
797         * loader/FTPDirectoryDocument.cpp:
798         (WebCore::FTPDirectoryDocumentParser::create):
799         (WebCore::FTPDirectoryDocument::createParser):
800         * loader/FTPDirectoryDocument.h:
801         * loader/ImageDocument.cpp:
802         (WebCore::ImageDocumentParser::create):
803         (WebCore::ImageDocumentParser::ImageDocumentParser):
804         (WebCore::ImageDocument::createParser):
805         * loader/ImageDocument.h:
806         * loader/MediaDocument.cpp:
807         (WebCore::MediaDocumentParser::create):
808         (WebCore::MediaDocument::createParser):
809         * loader/MediaDocument.h:
810         * loader/PluginDocument.cpp:
811         (WebCore::PluginDocumentParser::create):
812         (WebCore::PluginDocument::createParser):
813         * loader/PluginDocument.h:
814         * loader/SinkDocument.cpp:
815         (WebCore::SinkDocumentParser::create):
816         (WebCore::SinkDocument::createParser):
817         * loader/SinkDocument.h:
818         * loader/TextDocument.cpp:
819         (WebCore::TextDocumentParser::create):
820         (WebCore::TextDocument::createParser):
821         (WebCore::createTextDocumentParser):
822         * loader/TextDocument.h:
823
824 2010-08-19  David Kilzer  <ddkilzer@apple.com>
825
826         Fix compilation of SelectElement.cpp with ARROW_KEYS_POP_MENU == 0
827
828         Reviewed by Simon Fraser.
829
830         * dom/SelectElement.cpp:
831         (WebCore::SelectElement::menuListDefaultEventHandler): Added
832         UNUSED_PARAM() macro for htmlForm argument when
833         ARROW_KEYS_POP_MENU defined as zero.
834
835 2010-08-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
836
837         Reviewed by Simon Hausmann.
838
839         [Qt] Disable XSLT for production configuration
840         https://bugs.webkit.org/show_bug.cgi?id=37445
841
842         Introduce a new CONFIG option to maintain stable configuration for
843         the QtWebKit port and disable XSLT for the stable configuration
844         because of bug 37445.
845
846         No new tests as there is no new functionality.
847
848         * features.pri:
849
850 2010-08-18  Zhenyao Mo  <zmo@google.com>
851
852         Reviewed by Kenneth Russell.
853
854         Implement strict type checking in js bindings for WebGL functions
855         https://bugs.webkit.org/show_bug.cgi?id=44202
856
857         Test: fast/canvas/webgl/bad-arguments-test.html
858
859         * bindings/js/JSWebGLRenderingContextCustom.cpp: Add type check for wrapper types and DOMString and throw error in case of mismatch.
860         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
861         (WebCore::JSWebGLRenderingContext::getProgramParameter):
862         (WebCore::JSWebGLRenderingContext::getShaderParameter):
863         (WebCore::JSWebGLRenderingContext::getUniform):
864         (WebCore::dataFunctionf):
865         (WebCore::dataFunctioni):
866         (WebCore::dataFunctionMatrix):
867         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
868         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
869         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Ditto.
870         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
871         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
872         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
873         (WebCore::V8WebGLRenderingContext::getUniformCallback):
874         (WebCore::vertexAttribAndUniformHelperf):
875         (WebCore::uniformHelperi):
876         (WebCore::uniformMatrixHelper):
877         * html/canvas/WebGLRenderingContext.idl: Add attribute StrictTypeChecking for WebGL functions.
878
879 2010-08-19  Simon Fraser  <simon.fraser@apple.com>
880
881         Reviewed by Sam Weinig.
882
883         Clean up some selection code
884         https://bugs.webkit.org/show_bug.cgi?id=44314
885         
886         Change the concept of "layout" in SelectionController to "updateCaretRect", renaming
887         methods accordingly.
888         
889         Move selection and printing methods in RenderView.h into groups.
890
891         No behavioral changes.
892
893         * editing/SelectionController.cpp:
894         (WebCore::SelectionController::SelectionController):
895         (WebCore::SelectionController::setSelection):
896         (WebCore::SelectionController::modify):
897         (WebCore::SelectionController::setCaretRectNeedsUpdate):
898         (WebCore::SelectionController::updateCaretRect):
899         (WebCore::SelectionController::localCaretRect):
900         (WebCore::SelectionController::recomputeCaretRect): Test m_caretRectNeedsUpdate first.
901         (WebCore::SelectionController::invalidateCaretRect):
902         * editing/SelectionController.h:
903         * page/FrameView.cpp:
904         (WebCore::FrameView::layout):
905         * rendering/RenderLayer.cpp:
906         (WebCore::RenderLayer::scrollToOffset):
907         * rendering/RenderView.h:
908         (WebCore::RenderView::selectionStart):
909         (WebCore::RenderView::selectionEnd):
910         (WebCore::RenderView::printRect):
911         (WebCore::RenderView::setPrintRect):
912
913 2010-08-19  Simon Fraser  <simon.fraser@apple.com>
914
915         Fix Chromium build.
916         
917         * svg/SVGElement.cpp:
918         (WebCore::SVGElement::attributeChanged):
919
920 2010-08-19  Simon Fraser  <simon.fraser@apple.com>
921
922         Reviewed by Nikolas Zimmermann.
923
924         HTMLElement::isContentEditable() can cause an updateStyleIfNeeded() to happen in the middle of layout
925         https://bugs.webkit.org/show_bug.cgi?id=21834
926         <rdar://problem/8093653&8261394>
927         
928         If we're in the middle of layout, or painting, and something causes updateStyleIfNeeded() to
929         get called, then we can end up entering recalcStyle() during layout or painting. This is bad
930         because it can create/destry the renderers and RenderLayers which are in use by layout/painting.
931         This is the cause of a number of random crashers, some of which show up more frequently
932         in content which uses accelerated compositing.
933         
934         The changes here:
935         1. Add an assertion in Document::updateStyleIfNeeded() that we are not laying out or painting.
936         2. Remove calls to updateStyleIfNeeded() in editing and caret painting code
937         3. Pass along information to CTM and BBox-related SVG methods to indicate whether it's safe
938            to update style.
939
940         Tested by new assertions and existing tests.
941
942         * dom/Document.cpp:
943         (WebCore::Document::updateStyleIfNeeded): New assertion that we are not mid-layout or painting.
944         (WebCore::command): Call updateStyleIfNeeded() to ensure that subsequent calls to isContentEditable()
945         return the correct result.
946
947         * dom/Element.cpp:
948         (WebCore::Element::focus): Move the supportsFocus() call to after style has been updated.
949
950         * editing/SelectionController.cpp:
951         (WebCore::SelectionController::localCaretRect):
952         (WebCore::SelectionController::caretRepaintRect):
953         (WebCore::SelectionController::paintCaret):
954         * editing/SelectionController.h:
955         (WebCore::SelectionController::localCaretRectForPainting): When painting, use localCaretRectForPainting()
956         which does not update style. Make localCaretRect() non-const so allowing it to update style without ugly casts.
957
958         * html/HTMLElement.cpp:
959         (WebCore::HTMLElement::isContentEditable): Don't call updateStyleIfNeeded() here.
960         (WebCore::HTMLElement::isContentRichlyEditable): Ditto.
961         (WebCore::HTMLElement::contentEditable): Ditto.
962
963         * page/FrameView.h:
964         (WebCore::FrameView::isMidLayout): New accessor, used for asserting.
965
966         * rendering/RenderPath.cpp:
967         (WebCore::fillAndStrokePath): Pass DisallowStyleUpdate to getScreenCTM since we are painting.
968         * rendering/RenderSVGResourceContainer.cpp:
969         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): This is only called when
970         painting, so use DisallowStyleUpdate.
971
972         * svg/SVGElement.cpp:
973         (WebCore::SVGElement::attributeChanged): Changes to the style attribute should not have
974         side effects, since a call to Element::getAttribute() is allowed to result in a call to
975         setAttribute() for the style attribute. To avoid updateStyleIfNeeded() during painting,
976         this must not cause SVG to do extra work.
977
978         * svg/SVGLocatable.cpp: Pass StyleUpdateStrategy down to these methods to indicate
979         whether it's OK to update style.
980         (WebCore::SVGLocatable::getBBox):
981         (WebCore::SVGLocatable::computeCTM):
982         (WebCore::SVGLocatable::getTransformToElement):
983         * svg/SVGLocatable.h:
984         (WebCore::SVGLocatable::):
985         * svg/SVGStyledLocatableElement.cpp:
986         (WebCore::SVGStyledLocatableElement::getBBox):
987         (WebCore::SVGStyledLocatableElement::getCTM):
988         (WebCore::SVGStyledLocatableElement::getScreenCTM):
989         * svg/SVGStyledLocatableElement.h:
990         * svg/SVGStyledTransformableElement.cpp:
991         (WebCore::SVGStyledTransformableElement::getCTM):
992         (WebCore::SVGStyledTransformableElement::getScreenCTM):
993         (WebCore::SVGStyledTransformableElement::getBBox):
994         * svg/SVGStyledTransformableElement.h:
995         * svg/SVGTextElement.cpp:
996         (WebCore::SVGTextElement::getBBox):
997         (WebCore::SVGTextElement::getCTM):
998         (WebCore::SVGTextElement::getScreenCTM):
999         * svg/SVGTextElement.h:
1000
1001 2010-08-19  Ryosuke Niwa  <rniwa@webkit.org>
1002
1003         Reviewed by Darin Adler.
1004
1005         Range, EAnnotateForInterchange, and EAbsoluteURLs should be member variables of MarkupAccumulator
1006         https://bugs.webkit.org/show_bug.cgi?id=44229
1007
1008         No new tests are added since this is a clean up.
1009
1010         * editing/markup.cpp:
1011         (WebCore::MarkupAccumulator::MarkupAccumulator): Added shouldResolveURLs, shouldAnnotate, and range.
1012         (WebCore::MarkupAccumulator::shouldResolveURLs): Private inline accessor for m_shouldResolveURLs.
1013         (WebCore::MarkupAccumulator::shouldAnnotate): Private inline accessor for m_shouldAnnotate.
1014         (WebCore::MarkupAccumulator::appendEndTag): Renamed local variable result to markup.
1015         (WebCore::MarkupAccumulator::appendStartTag): Removed range, annotate, shouldResolveURLs from the function arguments.
1016         (WebCore::MarkupAccumulator::wrapWithNode): Ditto.
1017         (WebCore::MarkupAccumulator::appendStartMarkup): Ditto.
1018         (WebCore::serializeNodes): Ditto and uses MarkupAccumulator.
1019         (WebCore::createMarkup): Uses MarkupAccumulator.
1020         (WebCore::serializeNodesWithNamespaces): Ditto.
1021
1022 2010-08-19  Pavel Feldman  <pfeldman@chromium.org>
1023
1024         Reviewed by Yury Semikhatsky.
1025
1026         Web Inspector: do not dump inspector errors into the inspected window console.
1027         https://bugs.webkit.org/show_bug.cgi?id=44272
1028
1029         * inspector/front-end/inspector.js:
1030         (WebInspector.reportProtocolError):
1031
1032 2010-08-19  Jeremy Orlow  <jorlow@chromium.org>
1033
1034         Chromium build fix.
1035
1036         Use ASSERT_UNUSED on variables that aren't used besides by the ASSERT.
1037
1038         * storage/IDBDatabaseBackendImpl.cpp:
1039         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1040         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
1041         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
1042         * storage/IDBObjectStoreBackendImpl.cpp:
1043         (WebCore::IDBObjectStoreBackendImpl::get):
1044         (WebCore::IDBObjectStoreBackendImpl::put):
1045         (WebCore::IDBObjectStoreBackendImpl::remove):
1046         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1047         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
1048         (WebCore::IDBObjectStoreBackendImpl::openCursor):
1049         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
1050
1051 2010-08-19  Andrey Kosyakov  <caseq@chromium.org>
1052
1053         Reviewed by Pavel Feldman.
1054
1055         Web Inspector: expose Panel.onSelectionChanged in extension API
1056         https://bugs.webkit.org/show_bug.cgi?id=44171
1057
1058         * inspector/front-end/ExtensionAPI.js:
1059         (injectedExtensionAPI.PanelImpl):
1060         (injectedExtensionAPI):
1061
1062 2010-08-19  Andrei Popescu  <andreip@google.com>
1063
1064         Reviewed by Jeremy Orlow.
1065
1066         [IndexedDB] Abort idle IDBTransactions when the JS context they were created in finishes execution.
1067         https://bugs.webkit.org/show_bug.cgi?id=44101
1068
1069         This change also introduces the TransactionCoordinator, which will be used
1070         to schedule transactions for execution.
1071
1072         Test: storage/indexeddb/transaction-basics.html
1073
1074         * WebCore.gypi:
1075         * bindings/v8/V8DOMWrapper.cpp:
1076         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1077         * bindings/v8/V8Proxy.cpp:
1078         (WebCore::V8Proxy::runScript):
1079         (WebCore::V8Proxy::callFunction):
1080         (WebCore::V8Proxy::didLeaveScriptContext):
1081         * bindings/v8/V8Proxy.h:
1082         * dom/EventTarget.cpp:
1083         (WebCore::EventTarget::toIDBTransaction):
1084         * dom/EventTarget.h:
1085         * page/PageGroup.h:
1086         (WebCore::PageGroup::hasIDBFactory):
1087         * storage/IDBAbortEvent.cpp: Added.
1088         (WebCore::IDBAbortEvent::create):
1089         (WebCore::IDBAbortEvent::IDBAbortEvent):
1090         (WebCore::IDBAbortEvent::~IDBAbortEvent):
1091         * storage/IDBAbortEvent.h: Added.
1092         (WebCore::IDBAbortEvent::isIDBAbortEvent):
1093         * storage/IDBDatabase.cpp:
1094         (WebCore::IDBDatabase::transaction):
1095         * storage/IDBDatabaseBackendImpl.cpp:
1096         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1097         (WebCore::IDBDatabaseBackendImpl::transaction):
1098         * storage/IDBDatabaseBackendImpl.h:
1099         (WebCore::IDBDatabaseBackendImpl::create):
1100         * storage/IDBDatabaseBackendInterface.h:
1101         * storage/IDBFactoryBackendImpl.cpp:
1102         (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
1103         (WebCore::IDBFactoryBackendImpl::open):
1104         (WebCore::IDBFactoryBackendImpl::abortPendingTransactions):
1105         * storage/IDBFactoryBackendImpl.h:
1106         * storage/IDBFactoryBackendInterface.h:
1107         * storage/IDBPendingTransactionMonitor.cpp: Added.
1108         (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
1109         (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
1110         (WebCore::IDBPendingTransactionMonitor::clearPendingTransactions):
1111         (WebCore::IDBPendingTransactionMonitor::pendingTransactions):
1112         * storage/IDBPendingTransactionMonitor.h: Added.
1113         * storage/IDBTransaction.cpp:
1114         (WebCore::IDBTransaction::IDBTransaction):
1115         (WebCore::IDBTransaction::onAbort):
1116         (WebCore::IDBTransaction::id):
1117         (WebCore::IDBTransaction::stop):
1118         (WebCore::IDBTransaction::timerFired):
1119         * storage/IDBTransaction.h:
1120         * storage/IDBTransactionBackendInterface.h:
1121         * storage/IDBTransactionCallbacks.h: Added.
1122         (WebCore::IDBTransactionCallbacks::~IDBTransactionCallbacks):
1123         * storage/IDBTransactionCoordinator.cpp: Added.
1124         (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
1125         (WebCore::IDBTransactionBackendImpl::create):
1126         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
1127         (WebCore::IDBTransactionBackendImpl::objectStore):
1128         (WebCore::IDBTransactionBackendImpl::mode):
1129         (WebCore::IDBTransactionBackendImpl::scheduleTask):
1130         (WebCore::IDBTransactionBackendImpl::abort):
1131         (WebCore::IDBTransactionBackendImpl::sqliteDatabase):
1132         (WebCore::IDBTransactionBackendImpl::id):
1133         (WebCore::IDBTransactionBackendImpl::setCallbacks):
1134         (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
1135         (WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
1136         (WebCore::IDBTransactionCoordinator::createTransaction):
1137         (WebCore::IDBTransactionCoordinator::abort):
1138         * storage/IDBTransactionCoordinator.h: Added.
1139         (WebCore::IDBTransactionCoordinator::create):
1140
1141 2010-08-19  Pavel Feldman  <pfeldman@chromium.org>
1142
1143         Reviewed by Yury Semikhatsky.
1144
1145         Chromium DevTools: There is no need in resource-based InjectedScript.js source.
1146         Now that we populate front-end after its onload handler, we don't need
1147         to install injected script early. Exposing injected script source on the WebCore
1148         level here.
1149         https://bugs.webkit.org/show_bug.cgi?id=44029
1150
1151         * inspector/InjectedScriptHost.h:
1152         (WebCore::InjectedScriptHost::injectedScriptSource):
1153
1154 2010-08-18  Jeremy Orlow  <jorlow@chromium.org>
1155
1156         Reviewed by Steve Block.
1157
1158         Implement persistance for IndexedDB ObjectStores
1159         https://bugs.webkit.org/show_bug.cgi?id=44164
1160
1161         Get rid of the in-memory storage of ObjectStores and instead
1162         use SQL backed memory.
1163
1164         Existing tests give most of the coverage.  Will update the manual
1165         test in the next patch (which will also re-work database.description).
1166
1167         * manual-tests/indexed-database.html: Get rid of race where you can click before the page loads.
1168         * platform/sql/SQLiteStatement.cpp: Add two helper functions
1169         (WebCore::SQLiteStatement::bindInt):
1170         (WebCore::SQLiteStatement::isColumnNull):
1171         * platform/sql/SQLiteStatement.h:
1172         * storage/IDBCursorBackendImpl.cpp: 
1173         * storage/IDBDatabaseBackendImpl.cpp:
1174         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1175         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1176         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
1177         (WebCore::IDBDatabaseBackendImpl::importObjectStores):
1178         * storage/IDBDatabaseBackendImpl.h:
1179         (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
1180         * storage/IDBFactoryBackendImpl.cpp:
1181         (WebCore::createTables):
1182         * storage/IDBIndexBackendImpl.cpp:
1183         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
1184         (WebCore::IDBIndexBackendImpl::sqliteDatabase):
1185         * storage/IDBIndexBackendImpl.h:
1186         (WebCore::IDBIndexBackendImpl::create):
1187         * storage/IDBObjectStoreBackendImpl.cpp:
1188         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
1189         (WebCore::whereClause):
1190         (WebCore::bindKey):
1191         (WebCore::IDBObjectStoreBackendImpl::get):
1192         (WebCore::IDBObjectStoreBackendImpl::put):
1193         (WebCore::IDBObjectStoreBackendImpl::remove):
1194         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1195         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
1196         (WebCore::IDBObjectStoreBackendImpl::openCursor):
1197         (WebCore::IDBObjectStoreBackendImpl::importIndexes):
1198         (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
1199         * storage/IDBObjectStoreBackendImpl.h:
1200         (WebCore::IDBObjectStoreBackendImpl::create):
1201         (WebCore::IDBObjectStoreBackendImpl::database):
1202
1203 2010-08-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1204
1205         Reviewed by Dirk Schulze.
1206
1207         Pattern is rasterized
1208         https://bugs.webkit.org/show_bug.cgi?id=41396
1209
1210         SVG pattern size changed when resizing browser
1211         https://bugs.webkit.org/show_bug.cgi?id=38704
1212
1213         Incorrect pattern tilling
1214         https://bugs.webkit.org/show_bug.cgi?id=41603
1215
1216         Apply same fixes to <pattern> that <mask> recently received. Build the tile image in absolute coordinates,
1217         to avoid pixelation, when the target element is scaled. Also fixes problems when zooming into patterns.
1218
1219         Clamp ImageBuffer sizes to RenderSVGRoots viewport, now that gradient/pattern and mask buffers are created
1220         in absolute coordinates -> no more huge image buffer allocations, that could fail.
1221
1222         Drop overflow="visible" support for <pattern>, which complicates the code a lot. Neither Opera nor Firefox
1223         support this, and SVG 1.1 2nd Edition says that the rendering behaviour is "undefined".
1224
1225         Tests: svg/batik/paints/patternRegions-positioned-objects.svg
1226                svg/custom/pattern-incorrect-tiling.svg
1227                svg/custom/pattern-no-pixelation.svg
1228                svg/transforms/text-with-mask-with-svg-transform.svg
1229
1230         * rendering/PaintInfo.h:
1231         (WebCore::PaintInfo::applyTransform): Don't alter the repaint rect if it's infinite (only affects SVG).
1232         (WebCore::PaintInfo::infiniteRect): Moved from RenderLayer into PaintInfo, as applyTransform() needs it.
1233         * rendering/RenderLayer.cpp:
1234         (WebCore::RenderLayer::calculateClipRects): s/ClipRects::infiniteRect/PaintInfo::infiniteRect/
1235         * rendering/RenderLayer.h: Moved infiniteRect() to PaintInfo.
1236         * rendering/RenderLayerBacking.cpp:
1237         (WebCore::clipBox): s/ClipRects::infiniteRect/PaintInfo::infiniteRect/
1238         * rendering/RenderLayerCompositor.cpp:
1239         (WebCore::RenderLayerCompositor::clippedByAncestor): Ditto.
1240         * rendering/RenderSVGResourceGradient.cpp:
1241         (WebCore::createMaskAndSwapContextForTextGradient): Clamp image buffer size, use new SVGImageBufferTools helper methods for that.
1242         (WebCore::clipToTextMask): Adapt to renames/code changes in SVGImageBufferTools. 
1243         (WebCore::RenderSVGResourceGradient::applyResource): Ditto.
1244         * rendering/RenderSVGResourceMasker.cpp:
1245         (WebCore::RenderSVGResourceMasker::applyResource): lamp image buffer size, use new SVGImageBufferTools helper methods for that.
1246         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): Adapt to renames/code changes in SVGImageBufferTools.
1247         * rendering/RenderSVGResourceMasker.h:
1248         * rendering/RenderSVGResourcePattern.cpp:
1249         (WebCore::RenderSVGResourcePattern::applyResource): Rewrite to create tile image buffers in absolute coordinates, avoids pixelation artefacts.
1250         (WebCore::calculatePatternBoundaries):
1251         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
1252         (WebCore::RenderSVGResourcePattern::createTileImage):
1253         * rendering/RenderSVGResourcePattern.h:
1254         * rendering/SVGImageBufferTools.cpp:
1255         (WebCore::SVGImageBufferTools::transformationToOutermostSVGCoordinateSystem): Helper method, concating all localToParentTransforms() up until RenderSVGRoot is reached.
1256         (WebCore::SVGImageBufferTools::createImageBuffer): Simplified.
1257         (WebCore::SVGImageBufferTools::clipToImageBuffer): Rename absoluteTargetRect to clampedAbsoluteTargetRect.
1258         (WebCore::SVGImageBufferTools::roundedImageBufferSize): New helper method to centralize FloatSize -> IntSize rounding, when creating image buffers.
1259         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer): New helper methods to clamp an image buffer rect against the viewport.
1260         * rendering/SVGImageBufferTools.h:
1261         * rendering/SVGRenderSupport.cpp:
1262         (WebCore::SVGRenderSupport::renderSubtreeToImage): Use PaintInfo::infiniteRect() as repaint rect, to avoid any culling. 
1263         (WebCore::SVGRenderSupport::findTreeRootObject): Renamed from svgRootTreeObject, and expose it.
1264         (WebCore::SVGRenderSupport::layoutChildren): s/svgRootTreeObject/findTreeRootObject/.
1265         * rendering/SVGRenderSupport.h:
1266         * svg/SVGSVGElement.cpp:
1267         (WebCore::SVGSVGElement::setCurrentTranslate): Be sure to relayout on invalidation, otherwhise resources are not updated, and we have to update them, as they depend on the absolute transform.
1268
1269 2010-08-19  Alejandro G. Castro  <alex@igalia.com>
1270
1271         Reviewed by Dirk Schulze.
1272
1273         [GTK] The size of the shadow image uses the standard deviation
1274         size instead of the blur radius
1275         https://bugs.webkit.org/show_bug.cgi?id=40793
1276
1277         The kernelSize variable was renamed to radius and recalculated
1278         considering the CSS3 specification
1279         http://www.w3.org/TR/css3-background/#the-box-shadow, and the
1280         visual result of other browsers. The HTML5 canvas shadow standard
1281         deviation calculation that was used, was not appropiate for the
1282         blur distance specified in the CSS3.
1283
1284         * platform/graphics/GraphicsContext.h:
1285         * platform/graphics/cairo/FontCairo.cpp:
1286         (WebCore::Font::drawGlyphs):
1287         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1288         (WebCore::GraphicsContext::calculateShadowBufferDimensions):
1289         Changed the calculation, now we use the parameter in the style
1290         directly as recomended in the CSS3 standard.
1291         (WebCore::drawPathShadow):
1292         (WebCore::drawBorderlessRectShadow):
1293         (WebCore::GraphicsContext::createPlatformShadow): We get the
1294         standard deviation from the radius using the new function and we
1295         create the filter with that deviation.
1296         * platform/graphics/cairo/ImageCairo.cpp:
1297         (WebCore::BitmapImage::draw):
1298         * platform/graphics/filters/FEGaussianBlur.cpp:
1299         (WebCore::FEGaussianBlur::calculateStdDeviation):  Added this
1300         function that gets the standard deviation from the blur
1301         radius. Required in the CSS3 case where we have this radio and we
1302         need the deviation to initialize the algorithm.
1303         * platform/graphics/filters/FEGaussianBlur.h:
1304
1305 2010-08-19  Andreas Kling  <andreas.kling@nokia.com>
1306
1307         Reviewed by Kenneth Rohde Christiansen.
1308
1309         [Qt] Avoid unnecessary string copy in TextCodecQt::decode()
1310         https://bugs.webkit.org/show_bug.cgi?id=44232
1311
1312         * platform/text/qt/TextCodecQt.cpp:
1313         (WebCore::TextCodecQt::decode): Use String::append(const UChar*, int)
1314         to avoid creating a temporary string.
1315
1316 2010-08-19  Philippe Normand  <pnormand@igalia.com>
1317
1318         Reviewed by Gustavo Noronha Silva.
1319
1320         [GStreamer] GTK XOverlay support in GStreamerGWorld
1321         https://bugs.webkit.org/show_bug.cgi?id=39474
1322
1323         GStreamerGWorld now catches synchronous messages coming from the
1324         sinks and creates a GTK window where the video can be overlayed if
1325         fullscreen display is requested using enterFullscreen.
1326
1327         * GNUmakefile.am:
1328         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1329         (WebCore::gstGWorldSyncMessageCallback):
1330         (WebCore::GStreamerGWorld::GStreamerGWorld):
1331         (WebCore::GStreamerGWorld::~GStreamerGWorld):
1332         (WebCore::GStreamerGWorld::enterFullscreen):
1333         (WebCore::GStreamerGWorld::exitFullscreen):
1334         (WebCore::GStreamerGWorld::setWindowOverlay):
1335         * platform/graphics/gstreamer/GStreamerGWorld.h:
1336         (WebCore::GStreamerGWorld::pipeline):
1337         (WebCore::GStreamerGWorld::platformVideoWindow):
1338         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1339         * platform/graphics/gstreamer/PlatformVideoWindow.h: Added.
1340         (WebCore::PlatformVideoWindow::createWindow):
1341         (WebCore::PlatformVideoWindow::window):
1342         (WebCore::PlatformVideoWindow::videoWindowId):
1343         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Added.
1344         (PlatformVideoWindow::PlatformVideoWindow):
1345
1346 2010-08-19  Eric Uhrhane  <ericu@chromium.org>
1347
1348         Reviewed by David Levin.
1349
1350         Add idl and mock classes for FileWriter.
1351         https://bugs.webkit.org/show_bug.cgi?id=44075
1352
1353         No new tests, since there's no new functionality.
1354
1355         New do-nothing classes, but the real IDL:
1356         * FileWriter.idl:
1357         * FileWriter.h:
1358         * FileWriter.cpp:
1359
1360         The build file changes to include the above:
1361         * CMakeLists.txt:
1362         * DerivedSources.cpp:
1363         * DerivedSources.make:
1364         * GNUmakefile.am:
1365         * WebCore.gypi:
1366         * WebCore.pri:
1367         * WebCore.pro:
1368         * WebCore.vcproj/WebCore.vcproj:
1369         * WebCore.xcodeproj/project.pbxproj:
1370
1371         Added FileWriter event names and required EventTarget changes.
1372         * dom/EventNames.h:
1373         * dom/EventTarget.cpp:
1374         (WebCore::EventTarget::toFileWriter):
1375         * dom/EventTarget.h:
1376
1377 2010-08-18  Andreas Kling  <andreas.kling@nokia.com>
1378
1379         Rubber-stamped by Ariya Hidayat.
1380
1381         [Qt] Remove unused variable in GraphicsContext::fillRect()
1382
1383         * platform/graphics/qt/GraphicsContextQt.cpp:
1384         (WebCore::GraphicsContext::fillRect):
1385
1386 2010-08-18  Ariya Hidayat  <ariya@sencha.com>
1387
1388         Reviewed by Kenneth Rohde Christiansen.
1389
1390         [Qt] Short lived shadow buffer for blur operation
1391         https://bugs.webkit.org/show_bug.cgi?id=44094
1392
1393         ContextShadow needs a scratch image as the buffer for the blur filter.
1394         Instead of creating and destroying the buffer for every operation,
1395         we create a buffer which will be automatically purged via a timer.
1396
1397         * platform/graphics/qt/ContextShadow.cpp:
1398         (WebCore::):
1399         (WebCore::ShadowBuffer::ShadowBuffer):
1400         (WebCore::ShadowBuffer::scratchImage):
1401         (WebCore::ShadowBuffer::schedulePurge):
1402         (WebCore::ShadowBuffer::purgeBuffer):
1403         (WebCore::ContextShadow::drawShadowRect):
1404
1405 2010-08-18  Alexey Marinichev  <amarinichev@chromium.org>
1406
1407         Reviewed by Darin Fisher.
1408
1409         [chromium] scrolling issues when accelerated compositor is enabled
1410         https://bugs.webkit.org/show_bug.cgi?id=43992
1411
1412         Corrected scroll position not being updated, and an off-by-half error.
1413         Int cast and floorf are taken out because they produce incorrect
1414         transformation matrix.  The information lost there is not immediately
1415         obvious because of rounding that happens when texture is mapped with
1416         GL_NEAREST filtering mode.  These errors accumulate, and after some
1417         scrolling it becomes more apparent.
1418
1419         To test the former, follow instructions in the bug.  To test the
1420         latter, change GL_NEAREST to GL_LINEAR in LayerRendererChromium.cpp.
1421         Scrolling should work properly for all window sizes, without blurring
1422         images and shifting them to the left.
1423
1424         * platform/graphics/chromium/LayerRendererChromium.cpp:
1425         (WebCore::LayerRendererChromium::drawLayers):
1426
1427 2010-08-18  Simon Hausmann  <simon.hausmann@nokia.com>
1428
1429         Reviewed by Ariya Hidayat.
1430
1431         [Qt] Implement GraphicsContext::clipOut more efficiently
1432         https://bugs.webkit.org/show_bug.cgi?id=43416
1433
1434         The current implementation of clipOut uses QPainter::clipRegion().boundingRect(),
1435         which is a very slow function because it converts the entire clip region - which
1436         may potentially contain a complex path - into a set of QRegion rectangles, just
1437         to throw away all that information and use the bounding rect.
1438
1439         QTBUG-12618 implements a faster function in QPainter: QPainter::clipBoundingRect().
1440
1441         * platform/graphics/qt/GraphicsContextQt.cpp:
1442         (WebCore::GraphicsContext::clipOut): Use QPainter::clipBoundingRect() with Qt >= 4.8.
1443         (WebCore::GraphicsContext::clipOutEllipseInRect): Ditto.
1444
1445 2010-08-18  Martin Robinson  <mrobinson@igalia.com>
1446
1447         Reviewed by Gustavo Noronha Silva.
1448
1449         [GTK] Since the GSEAL changes moz_gtk_scrollbar_button_paint fiddles the widget allocation but doesn't preserve it
1450         https://bugs.webkit.org/show_bug.cgi?id=44211
1451
1452         No new tests as we do not currently use the scrollbar button painting
1453         code. Tests for this issue will be enabled when we have pixel tests
1454         for WebCore-drawn interior frame scrollbars.
1455
1456         * platform/gtk/GtkVersioning.h: Add backward-compatible functions for getting
1457         and setting the widget allocation.
1458         * platform/gtk/gtk2drawing.c:
1459         (moz_gtk_scrollbar_button_paint): Use new backward-compatible functions for getting
1460         and setting the widget allocation.
1461
1462 2010-08-18  Ryosuke Niwa  <rniwa@webkit.org>
1463
1464         Reviewed by Darin Adler.
1465
1466         Group functions in markup.cpp into MarkupAccumulatorWrapper
1467         https://bugs.webkit.org/show_bug.cgi?id=43936
1468
1469         Renamed MarkupAccumulatorWrapper to MarkupAccumulator and moved the MarkupAccumulatorWrapper
1470         to the top of markup.cpp. Made various functions private member functions of MarkupAccumulator.
1471
1472         No new tests are added since this is a cleanup.
1473
1474         * editing/markup.cpp:
1475         (WebCore::MarkupAccumulator::):
1476         (WebCore::MarkupAccumulator::MarkupAccumulator):
1477         (WebCore::MarkupAccumulator::appendString):
1478         (WebCore::MarkupAccumulator::appendStartTag):
1479         (WebCore::MarkupAccumulator::appendEndTag):
1480         (WebCore::MarkupAccumulator::wrapWithNode):
1481         (WebCore::MarkupAccumulator::wrapWithStyleNode):
1482         (WebCore::MarkupAccumulator::takeResults):
1483         (WebCore::MarkupAccumulator::appendAttributeValue):
1484         (WebCore::MarkupAccumulator::escapeContentText):
1485         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
1486         (WebCore::MarkupAccumulator::stringValueForRange):
1487         (WebCore::MarkupAccumulator::ucharRange):
1488         (WebCore::MarkupAccumulator::appendUCharRange):
1489         (WebCore::MarkupAccumulator::renderedText):
1490         (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
1491         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
1492         (WebCore::MarkupAccumulator::appendNamespace):
1493         (WebCore::MarkupAccumulator::appendDocumentType):
1494         (WebCore::MarkupAccumulator::removeExteriorStyles):
1495         (WebCore::MarkupAccumulator::appendStartMarkup):
1496         (WebCore::MarkupAccumulator::shouldSelfClose):
1497         (WebCore::MarkupAccumulator::appendEndMarkup):
1498         (WebCore::serializeNodes):
1499         (WebCore::createMarkup):
1500         (WebCore::serializeNodesWithNamespaces):
1501
1502 2010-08-18  Beth Dakin  <bdakin@apple.com>
1503
1504         Reviewed by Sam Weinig.
1505
1506         Fix for https://bugs.webkit.org/show_bug.cgi?id=44207 Empty mfrac 
1507         and empty munderover cause crashes
1508        -and corresponding-
1509         <rdar://problem/8325160>
1510
1511         This is just a  matter of adding null checks in the right places.
1512         * mathml/RenderMathMLFraction.cpp:
1513         (WebCore::RenderMathMLFraction::baselinePosition):
1514         * mathml/RenderMathMLUnderOver.cpp:
1515         (WebCore::RenderMathMLUnderOver::baselinePosition):
1516
1517 2010-08-18  Jian Li  <jianli@chromium.org>
1518
1519         Reviewed by David Levin.
1520
1521         Move FileStream to platform.
1522         https://bugs.webkit.org/show_bug.cgi?id=44213
1523
1524         In addition to moving files over, FileStream has been changed to remove
1525         ExceptionCode dependency. Also update FileStreamProxy and FileRead to
1526         account for this change.
1527
1528         * Android.mk:
1529         * GNUmakefile.am:
1530         * WebCore.gypi:
1531         * WebCore.pro:
1532         * WebCore.vcproj/WebCore.vcproj:
1533         * WebCore.xcodeproj/project.pbxproj:
1534         * html/FileReader.cpp:
1535         (WebCore::FileReader::didOpen):
1536         * html/FileReader.h:
1537         * html/FileStream.cpp: Removed.
1538         * html/FileStream.h: Removed.
1539         * html/FileStreamClient.h:
1540         (WebCore::FileStreamClient::didTruncate):
1541         (WebCore::FileStreamClient::didOpen):
1542         * html/FileStreamProxy.cpp:
1543         (WebCore::didOpen):
1544         (WebCore::FileStreamProxy::openForReadOnFileThread):
1545         (WebCore::FileStreamProxy::openForWriteOnFileThread):
1546         (WebCore::FileStreamProxy::write):
1547         (WebCore::FileStreamProxy::writeOnFileThread):
1548         (WebCore::didTruncate):
1549         (WebCore::FileStreamProxy::truncateOnFileThread):
1550         * html/FileStreamProxy.h:
1551         * platform/FileStream.cpp: Renamed from WebCore/FileStream.cpp and updated.
1552         * platform/FileStream.h: Renamed from WebCore/FileStream.h and updated.
1553
1554 2010-08-18  Jian Li  <jianli@chromium.org>
1555
1556         Reviewed by Darin Fisher.
1557
1558         Chromium side implementation of blob data and blob registry.
1559         https://bugs.webkit.org/show_bug.cgi?id=43871
1560
1561         Wrap !PLATFORM(CHROMIUM) around blobRegistry() so that chromium uses the
1562         implementation in WebKit Chromium.
1563
1564         * platform/network/BlobRegistryImpl.cpp:
1565
1566 2010-08-18  Martin Robinson  <mrobinson@igalia.com>
1567
1568         Reviewed by Gustavo Noronha Silva.
1569
1570         [GTK] Bots are showing lots of GTK_IS_CONTAINER critical warnings
1571         https://bugs.webkit.org/show_bug.cgi?id=40990
1572
1573         Instead of relying on the ScrollView's adjustment members to determine if a
1574         Scrollbar should be native or just a shell of the parent's scrollbar (main frame
1575         scrollbar), just check if this ScrollView has a parent. This will ensure the
1576         correct behavior when main frame scrollbar's are created after the ScrollView's
1577         containing adjustments go away.
1578
1579         Lack of warnings during tests are the test for this fix.
1580
1581         * platform/gtk/ScrollViewGtk.cpp:
1582         (WebCore::ScrollView::createScrollbar): Decide what type of scrollbar to make based
1583         on the result of the parent() method.
1584         * platform/gtk/ScrollbarGtk.cpp:
1585         (ScrollbarGtk::ScrollbarGtk): Allow for an m_adjustment which is null.
1586         (ScrollbarGtk::attachAdjustment): Ditto.
1587         (ScrollbarGtk::updateThumbPosition): Ditto.
1588         (ScrollbarGtk::updateThumbProportion): Ditto.
1589
1590 2010-08-18  Adam Barth  <abarth@webkit.org>
1591
1592         Reviewed by David Levin.
1593
1594         NOT_REACHED is reachable in SVGLength
1595         https://bugs.webkit.org/show_bug.cgi?id=44150
1596
1597         The author of this code was confused.  This code is reachable.  We just
1598         haven't implemented it yet.
1599
1600         * svg/SVGLength.cpp:
1601         (WebCore::SVGLength::setValue):
1602
1603 2010-08-18  Balazs Kelemen  <kb@inf.u-szeged.hu>
1604
1605         Reviewed by Antonio Gomes.
1606
1607         [Qt] Use LAZY_NATIVE_CURSOR
1608         https://bugs.webkit.org/show_bug.cgi?id=44062
1609
1610         No functional change so new tests.
1611
1612         Change Cursor behaviour to match the LAZY_NATIVE_CURSOR policy.
1613
1614         * platform/Cursor.h: Typedef PlatformCursor to be a QCursor* to be able create it dynamically.
1615         (WebCore::Cursor::Cursor): Remove the ifdef for Qt.
1616         * platform/qt/CursorQt.cpp: Remove the Cursors class since we have the static cursor instances
1617         for the common cursor types in Cursor.cpp. Move the logic that maps the cursor types to
1618         QCursor instances into ensurePlatformCursor.
1619         (WebCore::Cursor::Cursor):
1620         (WebCore::Cursor::~Cursor):
1621         (WebCore::Cursor::operator=):
1622         (WebCore::createCustomCursor):
1623         (WebCore::Cursor::ensurePlatformCursor):
1624         * platform/qt/WidgetQt.cpp:
1625         (WebCore::Widget::setCursor): Adjust to the PlatformCursor change.
1626
1627 2010-08-18  Andreas Kling  <andreas.kling@nokia.com>
1628
1629         Reviewed by Darin Adler.
1630
1631         CSS: Make rgb() and rgba() fast paths case-insensitive
1632         https://bugs.webkit.org/show_bug.cgi?id=44107
1633
1634         Also inlined the string comparisons against "rgb(" and "rgba("
1635         which is faster and avoids creating a temporary String object.
1636
1637         * css/CSSParser.cpp:
1638         (WebCore::mightBeRGBA):
1639         (WebCore::mightBeRGB):
1640         (WebCore::CSSParser::parseColor):
1641
1642 2010-08-18  Jian Li  <jianli@chromium.org>
1643
1644         Reviewed by Darin Fisher.
1645
1646         Change BlobStorageData to reuse BlobData.
1647         https://bugs.webkit.org/show_bug.cgi?id=44188
1648
1649         Also addressed Darin's feedbacks for bug 44116.
1650
1651         * html/ThreadableBlobRegistry.cpp:
1652         (WebCore::registerBlobURLTask):
1653         (WebCore::registerBlobURLFromTask):
1654         (WebCore::unregisterBlobURLTask):
1655         * platform/network/BlobData.cpp:
1656         (WebCore::BlobData::appendData):
1657         * platform/network/BlobData.h:
1658         (WebCore::BlobDataItem::BlobDataItem):
1659         * platform/network/BlobRegistry.h:
1660         * platform/network/BlobRegistryImpl.cpp:
1661         (WebCore::blobRegistry):
1662         (WebCore::BlobRegistryImpl::appendStorageItems):
1663         (WebCore::BlobRegistryImpl::registerBlobURL):
1664         * platform/network/BlobRegistryImpl.h:
1665         * platform/network/BlobStorageData.h:
1666         (WebCore::BlobStorageData::create):
1667         (WebCore::BlobStorageData::contentType):
1668         (WebCore::BlobStorageData::contentDisposition):
1669         (WebCore::BlobStorageData::items):
1670         (WebCore::BlobStorageData::BlobStorageData):
1671
1672 2010-08-18  David Hyatt  <hyatt@apple.com>
1673
1674         Reviewed by Martin Robinson.
1675
1676         https://bugs.webkit.org/show_bug.cgi?id=44193
1677
1678         Fix a typo in my previous canvas checkin.  m_in->resultImage() was originally m_in2->resultImage(),
1679         and I accidentally changed it when swapping the order of the arguments.
1680
1681         * platform/graphics/filters/FEComposite.cpp:
1682         (WebCore::FEComposite::apply):
1683
1684 2010-08-18  Stephen White  <senorblanco@chromium.org>
1685
1686         Reviewed by Darin Fisher.
1687
1688         [CHROMIUM] Eliminate a memcpy() from the canvas.drawImage(canvas, ...) path.
1689         https://bugs.webkit.org/show_bug.cgi?id=44115
1690
1691         This is the Skia followup to Dave Hyatt's patch in r65449.
1692         Covered by canvas layout tests.
1693
1694         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
1695         Add a "copyPixels" argument to the create() static to indicate if
1696         the caller wants the pixels to be copied or ref'ed.
1697         * platform/graphics/skia/ImageBufferSkia.cpp:
1698         (WebCore::ImageBuffer::drawsUsingCopy):
1699         We don't use the always-copy path anymore, so return false.
1700         (WebCore::ImageBuffer::copyImage):
1701         Force a copy here.
1702         (WebCore::ImageBuffer::draw):
1703         (WebCore::ImageBuffer::drawPattern):
1704         Create a temporary BitampImageSingleFrameSkia wrapped around the
1705         canvas's bitmap, and draw with it immediately.  If drawing to our own
1706         canvas, copy the pixels, otherwise just shallow copy.
1707         * platform/graphics/skia/ImageSkia.cpp:
1708         (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
1709         Make the constructor take an SkBitmap to be wrapped.
1710         (WebCore::BitmapImageSingleFrameSkia::create):
1711         Implement the "copyPixels" flag:  if true, do a deep copy, otherwise
1712         do a shallow copy.
1713         * platform/graphics/skia/NativeImageSkia.cpp:
1714         (WebCore::NativeImageSkia::NativeImageSkia):
1715         * platform/graphics/skia/NativeImageSkia.h:
1716         Implement a new constructor that shallow-copies the given SkBitmap.
1717
1718 2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1719
1720         Reviewed by Steve Block.
1721
1722         [Qt] Request for permission before starting Geolocation service
1723         https://bugs.webkit.org/show_bug.cgi?id=42027
1724
1725         Handles starting location acquisition when request is granted for ports using 
1726         "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
1727         Only Qt port as of today uses the above combination. Enable 
1728         PREEMPT_GEOLOCATION_PERMISSION for qt port. 
1729
1730         Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
1731         - fast/dom/Geolocation/delayed-permission-allowed.html
1732         - fast/dom/Geolocation/delayed-permission-denied.html
1733         - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
1734         - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
1735
1736         * WebCore.pro:
1737         * page/Geolocation.cpp:
1738         (WebCore::Geolocation::handlePendingPermissionNotifiers):
1739
1740 2010-08-18  Andreas Kling  <andreas.kling@nokia.com>
1741
1742         Reviewed by Darin Adler.
1743
1744         CanvasStyle method naming cleanup
1745         https://bugs.webkit.org/show_bug.cgi?id=44184
1746
1747         Renamed the various create() overloads to reflect what they're
1748         constructing the CanvasStyle from.
1749
1750         The unused CanvasStyle::create(grayLevel) and accompanying constructor
1751         were removed.
1752
1753         Also renamed the isEquivalentColor overloads to isEquivalent{RGBA,CMYKA}
1754
1755         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1756         (WebCore::toHTMLCanvasStyle):
1757         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1758         (WebCore::toCanvasStyle):
1759         * html/canvas/CanvasRenderingContext2D.cpp:
1760         (WebCore::CanvasRenderingContext2D::State::State):
1761         (WebCore::CanvasRenderingContext2D::setStrokeColor):
1762         (WebCore::CanvasRenderingContext2D::setFillColor):
1763         * html/canvas/CanvasStyle.cpp:
1764         (WebCore::CanvasStyle::createFromString):
1765         (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
1766         (WebCore::CanvasStyle::createFromGradient):
1767         (WebCore::CanvasStyle::createFromPattern):
1768         (WebCore::CanvasStyle::isEquivalentRGBA):
1769         (WebCore::CanvasStyle::isEquivalentCMYKA):
1770         * html/canvas/CanvasStyle.h:
1771         (WebCore::CanvasStyle::createFromRGBA):
1772         (WebCore::CanvasStyle::createFromGrayLevelWithAlpha):
1773         (WebCore::CanvasStyle::createFromRGBAChannels):
1774         (WebCore::CanvasStyle::createFromCMYKAChannels):
1775
1776 2010-08-18  Girish Ramakrishnan  <girish@forwardbias.in>
1777
1778         Reviewed by Kenneth Rohde Christiansen.
1779
1780         [Qt] Implement Maemo5 local rendering NPAPI extension. See 
1781         https://wiki.mozilla.org/Plugins:NokiaMaemoImageSurface for details.
1782
1783         With the local rendering extension, Flash will paint into a 16-bit surface.
1784         For wmode=transparent, Flash expects the surface to contain the contents
1785         beneath it. As it is tricky to implement the content propagation across all
1786         graphics systems, transparent Flash is not supported. We just fill the surface 
1787         with white and wmode=transparent behaves the same as wmode=opaque with a white 
1788         background.
1789
1790         https://bugs.webkit.org/show_bug.cgi?id=44043
1791
1792         * WebCore.pro:
1793         * plugins/PluginView.cpp:
1794         (WebCore::PluginView::setValue):
1795         (WebCore::PluginView::PluginView):
1796         * plugins/PluginView.h:
1797         * plugins/qt/PluginViewQt.cpp:
1798         (WebCore::PluginView::updatePluginWidget):
1799         (WebCore::PluginView::paintUsingImageSurfaceExtension):
1800         (WebCore::PluginView::paint):
1801         (WebCore::PluginView::platformGetValueStatic):
1802
1803 2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1804
1805         Unreviewed, rolling out r65603.
1806         http://trac.webkit.org/changeset/65603
1807         https://bugs.webkit.org/show_bug.cgi?id=44179
1808
1809         4 tests crash on Qt bot (Requested by Ossy on #webkit).
1810
1811         * WebCore.pro:
1812         * page/Geolocation.cpp:
1813         (WebCore::Geolocation::handlePendingPermissionNotifiers):
1814
1815 2010-08-18  Ryuan Choi  <ryuan.choi@samsung.com>
1816
1817         Unreviewed.  Attempted build fix for EFL
1818
1819         [EFL]REGRESSION(65530) need to fix build break
1820         https://bugs.webkit.org/show_bug.cgi?id=44154
1821
1822         * CMakeListsEfl.txt:
1823
1824 2010-08-18  Ilya Tikhonovsky  <loislo@chromium.org>
1825
1826         Unreviewed qt build fix.
1827
1828         * WebCore.pri:
1829
1830 2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>
1831
1832         Reviewed by Yury Semikhatsky.
1833
1834         Web Inspector: replace hand written InspectorBackendStub.js with generated one.
1835         New command-line flag was added to combine-javascript-resources.
1836         It specifies the location of generated scripts.
1837         https://bugs.webkit.org/show_bug.cgi?id=43791
1838
1839         * GNUmakefile.am:
1840         * WebCore.gyp/WebCore.gyp:
1841         * WebCore.gypi:
1842         * WebCore.pri:
1843         * WebCore.pro:
1844         * WebCore.vcproj/WebCore.vcproj:
1845         * WebCore.xcodeproj/project.pbxproj:
1846         * combine-javascript-resources:
1847         * inspector/CodeGeneratorInspector.pm:
1848         * inspector/front-end/InspectorBackendStub.js: Removed.
1849         * inspector/front-end/WebKit.qrc:
1850
1851 2010-08-18  Andrey Kosyakov  <caseq@chromium.org>
1852
1853         Reviewed by Pavel Feldman.
1854
1855         Web Inspector: extension panels do not occupy entire panel client area.
1856         https://bugs.webkit.org/show_bug.cgi?id=44167
1857
1858         * inspector/front-end/ExtensionServer.js:
1859         (WebInspector.ExtensionServer.prototype._onCreatePanel):
1860         (WebInspector.ExtensionServer.prototype._createClientIframe):
1861
1862 2010-08-18  Dirk Schulze  <krit@webkit.org>
1863
1864         Reviewed by Nikolas Zimmermann.
1865
1866         Use SVGPathParser logic to traverse states of a Path
1867         https://bugs.webkit.org/show_bug.cgi?id=44009
1868
1869         Move the getPathSegAtLength logic from SVGPathSegList into a new SVGPathConsumer
1870         class: SVGPathTraversalStateBuilder.
1871         This allows us to get a SVGPathSeg at a given length for SVGPathByteStreams and SVGPathSegLists.
1872         It is also possible to use unaltered SVG path data, instead of just normalized path data.
1873         This is the final preparation to provide normalized and unaltered SVGPathSegLists
1874         on SVGPathElement.
1875
1876         * Android.mk:
1877         * CMakeLists.txt:
1878         * GNUmakefile.am:
1879         * WebCore.gypi:
1880         * WebCore.pro:
1881         * WebCore.vcproj/WebCore.vcproj:
1882         * WebCore.xcodeproj/project.pbxproj:
1883         * svg/SVGAllInOne.cpp:
1884         * svg/SVGPathBuilder.h:
1885         (WebCore::SVGPathBuilder::nextPathSegment):
1886         (WebCore::SVGPathBuilder::quitEarlier):
1887         * svg/SVGPathByteStreamBuilder.h:
1888         (WebCore::SVGPathByteStreamBuilder::nextPathSegment):
1889         (WebCore::SVGPathByteStreamBuilder::quitEarlier):
1890         * svg/SVGPathConsumer.h:
1891         * svg/SVGPathElement.cpp:
1892         (WebCore::SVGPathElement::getPathSegAtLength):
1893         * svg/SVGPathElement.h:
1894         * svg/SVGPathElement.idl:
1895         * svg/SVGPathParser.cpp:
1896         (WebCore::SVGPathParser::parsePathDataFromSource):
1897         * svg/SVGPathParserFactory.cpp:
1898         (WebCore::globalSVGPathTraversalStateBuilder):
1899         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
1900         * svg/SVGPathParserFactory.h:
1901         * svg/SVGPathSegList.cpp:
1902         * svg/SVGPathSegList.h:
1903         * svg/SVGPathSegListBuilder.h:
1904         (WebCore::SVGPathSegListBuilder::nextPathSegment):
1905         (WebCore::SVGPathSegListBuilder::quitEarlier):
1906         * svg/SVGPathStringBuilder.h:
1907         (WebCore::SVGPathStringBuilder::nextPathSegment):
1908         (WebCore::SVGPathStringBuilder::quitEarlier):
1909         * svg/SVGPathTraversalStateBuilder.cpp: Added. New Consumer for SVGPathParser.
1910         (WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):
1911         (WebCore::SVGPathTraversalStateBuilder::moveTo):
1912         (WebCore::SVGPathTraversalStateBuilder::lineTo):
1913         (WebCore::SVGPathTraversalStateBuilder::curveToCubic):
1914         (WebCore::SVGPathTraversalStateBuilder::closePath):
1915         (WebCore::SVGPathTraversalStateBuilder::setDesiredLength):
1916         (WebCore::SVGPathTraversalStateBuilder::quitEarlier):
1917         (WebCore::SVGPathTraversalStateBuilder::nextPathSegment):
1918         (WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
1919         * svg/SVGPathTraversalStateBuilder.h: Added.
1920         (WebCore::SVGPathTraversalStateBuilder::setCurrentTraversalState):
1921         (WebCore::SVGPathTraversalStateBuilder::cleanup):
1922         (WebCore::SVGPathTraversalStateBuilder::lineToHorizontal):
1923         (WebCore::SVGPathTraversalStateBuilder::lineToVertical):
1924         (WebCore::SVGPathTraversalStateBuilder::curveToCubicSmooth):
1925         (WebCore::SVGPathTraversalStateBuilder::curveToQuadratic):
1926         (WebCore::SVGPathTraversalStateBuilder::curveToQuadraticSmooth):
1927         (WebCore::SVGPathTraversalStateBuilder::arcTo):
1928
1929 2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1930
1931         Reviewed by Steve Block.
1932
1933         [Qt] Request for permission before starting Geolocation service
1934         https://bugs.webkit.org/show_bug.cgi?id=42027
1935
1936         Handles starting location acquisition when request is granted for ports using 
1937         "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
1938         Only Qt port as of today uses the above combination. Enable 
1939         PREEMPT_GEOLOCATION_PERMISSION for qt port. 
1940
1941         Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
1942         - fast/dom/Geolocation/delayed-permission-allowed.html
1943         - fast/dom/Geolocation/delayed-permission-denied.html
1944         - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
1945         - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
1946
1947         * WebCore.pro:
1948         * page/Geolocation.cpp:
1949         (WebCore::Geolocation::handlePendingPermissionNotifiers):
1950
1951 2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1952
1953         Unreviewed, rolling out r65595.
1954         http://trac.webkit.org/changeset/65595
1955         https://bugs.webkit.org/show_bug.cgi?id=44161
1956
1957         qt build failed (Requested by loislo on #webkit).
1958
1959         * GNUmakefile.am:
1960         * WebCore.gyp/WebCore.gyp:
1961         * WebCore.gypi:
1962         * WebCore.pri:
1963         * WebCore.pro:
1964         * WebCore.vcproj/copyInspectorFiles.cmd:
1965         * WebCore.xcodeproj/project.pbxproj:
1966         * combine-javascript-resources:
1967         * inspector/CodeGeneratorInspector.pm:
1968         * inspector/front-end/InspectorBackendStub.js: Added.
1969         (WebInspector.InspectorBackendStub):
1970         (WebInspector.InspectorBackendStub.prototype._registerDelegate):
1971         (WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
1972         * inspector/front-end/InspectorBackendStub.qrc: Removed.
1973         * inspector/front-end/WebKit.qrc:
1974
1975 2010-08-18  Pavel Feldman  <pfeldman@chromium.org>
1976
1977         Reviewed by Yury Semikhatsky.
1978
1979         Web Inspector: make objectId of string type instead of object.
1980         https://bugs.webkit.org/show_bug.cgi?id=44160
1981
1982         * WebCore.xcodeproj/project.pbxproj:
1983         * inspector/front-end/InjectedScript.js:
1984         (injectedScriptConstructor.):
1985         * inspector/front-end/InjectedScriptAccess.js:
1986         (get InjectedScriptAccess.getForObjectId):
1987         * inspector/front-end/RemoteObject.js:
1988         (WebInspector.RemoteObject.prototype.getProperties):
1989         (WebInspector.RemoteObject.prototype.setPropertyValue):
1990         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
1991
1992 2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>
1993
1994         Reviewed by Yury Semikhatsky.
1995
1996         Web Inspector: replace hand written InspectorBackendStub.js by generated one.
1997         New command-line flag was added to combine-javascript-resources.
1998         It specifies the location of generated scripts.
1999         https://bugs.webkit.org/show_bug.cgi?id=43791
2000
2001         * GNUmakefile.am:
2002         * WebCore.gyp/WebCore.gyp:
2003         * WebCore.gypi:
2004         * WebCore.pri:
2005         * WebCore.pro:
2006         * WebCore.vcproj/WebCore.vcproj:
2007         * WebCore.xcodeproj/project.pbxproj:
2008         * combine-javascript-resources:
2009         * inspector/CodeGeneratorInspector.pm:
2010         * inspector/front-end/InspectorBackendStub.js: Removed.
2011         * inspector/front-end/WebKit.qrc:
2012
2013 2010-08-18  Shinichiro Hamaji  <hamaji@chromium.org>
2014
2015         Reviewed by Dimitri Glazkov.
2016
2017         Printer font is different from screen font
2018         https://bugs.webkit.org/show_bug.cgi?id=43340
2019
2020         Not testable because PNG output in layoutTestController.setPrinting
2021         for chromium isn't implemented yet.
2022
2023         * platform/graphics/FontDescription.h: Use screen font even for printing on Mac Chromium
2024         (WebCore::FontDescription::setUsePrinterFont):
2025
2026 2010-08-18  Renata Hodovan  <reni@inf.u-szeged.hu>
2027
2028         Reviewed by Dirk Schulze.
2029
2030         Fix displaying problem of feTurbulence.
2031         https://bugs.webkit.org/show_bug.cgi?id=44111
2032
2033         Change the order of calculating turbulenceFunctionResult
2034         and clamping it. Furthermore remove the unnecessary rounding of m_seed.
2035         Add a new test for checking the change of seed's value.
2036
2037         Test: svg/W3C-SVG-1.1/filters-turb-02-f.svg
2038
2039         * svg/graphics/filters/SVGFETurbulence.cpp:
2040         (WebCore::FETurbulence::initPaint):
2041         (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
2042         (WebCore::FETurbulence::apply):
2043
2044 2010-08-17  Gavin Barraclough  <barraclough@apple.com>
2045
2046         Reviewed by Sam Weinig.
2047
2048         Bug 44146 - Remove toDouble/toUInt32 methods from UString.
2049
2050         These methods all implement JavaScript language specific behaviour, and as such
2051         are not suited to being on a generic string object.  They are also inefficient
2052         and incorrectly used, refactor & cleanup.  Uses of these methods really divide
2053         out into two cases.
2054
2055         ToNumber:
2056         Uses of toDouble from JSString and from parseFloat are implementing ecma's
2057         ToNumber conversion from strings (see ecma-262 9.3.1), so UString::toDouble
2058         should largely just be moved out to a global jsToNumber function.  ToNumber is
2059         capable of recognizing either decimal or hexadecimal numbers, but parseFloat
2060         should only recognize decimal values.  This is currently handled by testing for
2061         hexadecimal before calling toDouble, which should unnecessary - instead we can
2062         just split out the two parts to the grammar into separate functions. Also,
2063         strtod recognizes a set of literals (nan, inf, and infinity - all with any
2064         capitalization) - which are not defined by any of the specs we are implementing.
2065         To handle this we need to perform additional work in toDouble to convert the
2066         unsupported cases of infinities back to NaNs.  Instead we should simply remove
2067         support for this literals from strtod.  This should provide a more desirable
2068         behaviour for all clients of strtod.
2069
2070         Indexed properties:
2071         Uses of the toStrictUInt32 methods are were all converting property names to
2072         indices, and all uses of toUInt32 were incorrect; in all cases we should have
2073         been calling toUInt32.  This error results in some incorrect behaviour in the
2074         DOM (accessing property "0 " of a NodeList should fail; it currently does not).
2075         Move this method onto Identifier (our canonical property name), and make it
2076         always perform a strict conversion. Add a layout test to check NodeList does
2077         convert indexed property names correctly.
2078
2079         Test: fast/dom/NodeList/nodelist-item-with-index.html
2080
2081         * WebCore.xcodeproj/project.pbxproj:
2082         * bindings/js/JSDOMWindowCustom.cpp:
2083         (WebCore::JSDOMWindow::getOwnPropertySlot):
2084         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2085         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2086         (WebCore::callHTMLAllCollection):
2087         (WebCore::JSHTMLAllCollection::item):
2088         * bindings/js/JSHTMLCollectionCustom.cpp:
2089         (WebCore::callHTMLCollection):
2090         (WebCore::JSHTMLCollection::item):
2091         * bindings/js/JSNodeListCustom.cpp:
2092         (WebCore::callNodeList):
2093         * bindings/scripts/CodeGeneratorJS.pm:
2094         * bridge/runtime_array.cpp:
2095         (JSC::RuntimeArray::getOwnPropertySlot):
2096         (JSC::RuntimeArray::getOwnPropertyDescriptor):
2097         (JSC::RuntimeArray::put):
2098
2099 2010-08-18  Adam Barth  <abarth@webkit.org>
2100
2101         Reviewed by Adele Peterson.
2102
2103         Null dereference in DOMSelection::deleteFromDocument
2104         https://bugs.webkit.org/show_bug.cgi?id=44153
2105
2106         deleteFromDocument checks selection->isNone() before calling
2107         selection->selection().toNormalizedRange(), but toNormalizedRange()
2108         notes that it needs to updateLayout(), which can make the selection
2109         isNone() again.  In that case, we crash on a NULL pointer in
2110         deleteFromDocument.  I don't know how to trigger that situation in a
2111         test, but cross_fuzz was able to hit it, so we should fix it.
2112
2113         * page/DOMSelection.cpp:
2114         (WebCore::DOMSelection::deleteFromDocument):
2115
2116 2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
2117
2118         Reviewed by Antonio Gomes.
2119
2120         [Qt] On Maemo5, there is no libgdk-x11-2.0.so symlink. Look for 
2121         libgdk-x11-2.0.so.0 instead on X11 and Maemo5.
2122
2123         https://bugs.webkit.org/show_bug.cgi?id=44043
2124
2125         * plugins/qt/PluginViewQt.cpp:
2126         (WebCore::getPluginDisplay):
2127
2128 2010-08-17  Ariya Hidayat  <ariya@sencha.com>
2129
2130         Reviewed by Antonio Gomes.
2131
2132         [Qt] Remove unused ContextShadowParameter class in GraphicsContextQt
2133         https://bugs.webkit.org/show_bug.cgi?id=44142
2134
2135         The class is not needed anymore after r65425.
2136         We know have dedicated ContextShadow in its own file.
2137
2138         * platform/graphics/qt/GraphicsContextQt.cpp:
2139
2140 2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2141
2142         Reviewed by Darin Adler.
2143
2144         Add NetworkingContext to avoid layer violations
2145         https://bugs.webkit.org/show_bug.cgi?id=42292
2146
2147         Preparation: Just add the files to the build system.
2148
2149         * GNUmakefile.am: Added new files.
2150         * WebCore.gypi: Ditto.
2151         * WebCore.pro: Ditto.
2152         * WebCore.vcproj/WebCore.vcproj: Ditto.
2153         * WebCore.xcodeproj/project.pbxproj: Ditto.
2154
2155         * loader/FrameNetworkingContext.h: Added.
2156         * platform/network/NetworkingContext.h: Added.
2157         Placeholders with tentative code that might be changed when landing
2158         the rest of it.
2159
2160 2010-08-17  Mihai Parparita  <mihaip@chromium.org>
2161
2162         Reviewed by Darin Fisher.
2163
2164         Back button after Google search result click broken
2165         https://bugs.webkit.org/show_bug.cgi?id=44086
2166
2167         Test: fast/history/redirect-via-iframe.html
2168         
2169         isLoadingInAPISense doesn't quite map to onload (it also returns true
2170         if frames are loading, even after the parent frame has fired its onload
2171         handler). Instead, add a flag for the onload event being fired, and
2172         use that.
2173
2174         * loader/DocumentLoader.cpp:
2175         (WebCore::DocumentLoader::DocumentLoader):
2176         * loader/DocumentLoader.h:
2177         (WebCore::DocumentLoader::handledOnloadEvents):
2178         (WebCore::DocumentLoader::wasOnloadHandled):
2179         * loader/FrameLoader.cpp:
2180         (WebCore::FrameLoader::handledOnloadEvents):
2181         * loader/RedirectScheduler.cpp:
2182         (WebCore::RedirectScheduler::mustLockBackForwardList):
2183
2184 2010-08-17  Steve Block  <steveblock@google.com>
2185
2186         Reviewed by Jeremy Orlow.
2187
2188         Geolocation clearWatch() needs to protect against invalid IDs
2189         https://bugs.webkit.org/show_bug.cgi?id=44096
2190
2191         If the ID passed to clearWatch() is invalid, we early-out.
2192
2193         Test: fast/dom/Geolocation/clear-watch-invalid-id-crash.html
2194
2195         * page/Geolocation.cpp:
2196         (WebCore::Geolocation::Watchers::set):
2197         (WebCore::Geolocation::Watchers::remove):
2198         (WebCore::Geolocation::watchPosition):
2199         (WebCore::Geolocation::clearWatch):
2200
2201 2010-08-17  Stephen White  <senorblanco@chromium.org>
2202
2203         Reviewed by David Levin.
2204
2205         Allow non-Skia ports to compile with ENABLE(ACCELERATED_2D_CANVAS).
2206         https://bugs.webkit.org/show_bug.cgi?id=44130
2207
2208         No tests; if it compiles, it's good.
2209
2210         * html/canvas/CanvasRenderingContext2D.cpp:
2211         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2212         Fix a warning (treated as error).
2213         * platform/graphics/GraphicsContext.cpp:
2214         (WebCore::GraphicsContext::setGraphicsContext3D):
2215         (WebCore::GraphicsContext::syncSoftwareCanvas):
2216         * platform/graphics/GraphicsContext.h:
2217         Make setGraphicsContext3D() and syncSoftwareCanvas() stubbed out,
2218         but still present in non-Skia ports.  This allows Chrome Mac to
2219         compile with ENABLE(ACCELERATED_2D_CANVAS) (although it isn't hooked
2220         up yet, it should at least compile).
2221
2222 2010-08-17  Brady Eidson  <beidson@apple.com>
2223
2224         Reviewed by Sam Weinig.
2225
2226         Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
2227         <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
2228
2229         No new tests. (Especially since DRT doesn't spin inner run loops at all, it would be a significant
2230         effort to give it the ability to perform the back/forward navigation in the background to reproduce
2231         this bug)
2232
2233         Manual tests in place of layout tests:
2234         * manual-tests/back-forward-during-alert-1.html: Added.
2235         * manual-tests/back-forward-during-alert-2.html: Added.
2236
2237         * page/Page.cpp:
2238         (WebCore::Page::goToItem):
2239
2240 2010-08-17  Ojan Vafai  <ojan@chromium.org>
2241
2242         Reviewed by Tony Chang.
2243
2244         selectionStart clobbered if textarea isn't focused
2245         https://bugs.webkit.org/show_bug.cgi?id=43814
2246
2247         If a text control is blurred, setting selectionStart/end should use
2248         the cached selection value, which is currently stored on the form
2249         control element.
2250
2251         Test: fast/forms/text-control-select-blurred.html
2252
2253         * rendering/RenderTextControl.cpp:
2254         (WebCore::RenderTextControl::setSelectionStart):
2255         (WebCore::RenderTextControl::setSelectionEnd):
2256
2257 2010-08-17  Dmitry Titov  <dimich@chromium.org>
2258
2259         Reviewed by David Levin.
2260
2261         MessagePort.close() crashes if the owning context was destroyed.
2262         https://bugs.webkit.org/show_bug.cgi?id=43140
2263
2264         Test: fast/events/message-port-context-destroyed.html
2265
2266         * dom/MessagePort.cpp:
2267         (WebCore::MessagePort::postMessage):
2268         (WebCore::MessagePort::start):
2269         (WebCore::MessagePort::close):
2270         (WebCore::MessagePort::contextDestroyed):
2271         Use isEntangled() method to gate various operations on MessagePort. This method also takes into account m_closed bit.
2272
2273         * dom/ScriptExecutionContext.cpp:
2274         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2275         (WebCore::ScriptExecutionContext::closeMessagePorts):
2276         * dom/ScriptExecutionContext.h:
2277         Add closeMessagePorts() method that closes message ports at the same moments when other ActiveDOMObjects are stopped.
2278
2279 2010-08-17  Fady Samuel  <fsamuel@chromium.org>
2280
2281         Reviewed by David Hyatt.
2282
2283         Updated table cell hit testing and painting to use binary search instead of linear scan.
2284
2285         Improved Table Hit Testing and Painting Performance
2286         https://bugs.webkit.org/show_bug.cgi?id=43933
2287
2288         Tests: fast/table/simple_paint.html
2289                tables/hittesting/filltable-emptycells.html
2290                tables/hittesting/filltable-levels.html
2291                tables/hittesting/filltable-outline.html
2292                tables/hittesting/filltable-rtl.html
2293                tables/hittesting/filltable-stress.html
2294
2295         * rendering/RenderTableSection.cpp:
2296         (WebCore::RenderTableSection::paintObject): Dirty rect determined using binary search.
2297         (WebCore::RenderTableSection::nodeAtPoint): Cell hit determined using binary search
2298
2299 2010-08-17  Abhishek Arya  <inferno@chromium.org>
2300
2301         Reviewed by Dave Hyatt.
2302
2303         Only destroy empty anonymous block when it is columns or column span block
2304         in RenderBlock::removeChild.
2305         https://bugs.webkit.org/show_bug.cgi?id=44035
2306
2307         Test: fast/block/basic/empty-anonymous-block-remove-crash.html
2308
2309         * rendering/RenderBlock.cpp:
2310         (WebCore::RenderBlock::removeChild):
2311
2312 >>>>>>> .r65561
2313 2010-08-17  Darin Fisher  <darin@chromium.org>
2314
2315         Reviewed by Darin Adler.
2316
2317         [Chromium] REGRESSION: Incorrect repaint on scrolling with position:fixed elements
2318         https://bugs.webkit.org/show_bug.cgi?id=42949
2319
2320         This is a partial revert of http://trac.webkit.org/changeset/63907
2321
2322         * page/FrameView.cpp:
2323         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
2324         (WebCore::FrameView::scrollPositionChanged):
2325         * platform/ScrollView.cpp:
2326         (WebCore::ScrollView::valueChanged):
2327
2328 2010-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2329
2330         Unreviewed, rolling out r65528.
2331         http://trac.webkit.org/changeset/65528
2332         https://bugs.webkit.org/show_bug.cgi?id=44123
2333
2334         "Broke a bunch of canvas tests on Chrome win/linux."
2335         (Requested by senorblanco on #webkit).
2336
2337         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
2338         (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
2339         * platform/graphics/skia/ImageBufferSkia.cpp:
2340         (WebCore::ImageBuffer::drawsUsingCopy):
2341         (WebCore::ImageBuffer::copyImage):
2342         (WebCore::ImageBuffer::draw):
2343         (WebCore::ImageBuffer::drawPattern):
2344         * platform/graphics/skia/ImageSkia.cpp:
2345         (WebCore::BitmapImageSingleFrameSkia::create):
2346         * platform/graphics/skia/NativeImageSkia.cpp:
2347         * platform/graphics/skia/NativeImageSkia.h:
2348
2349 2010-08-17  Martin Robinson  <mrobinson@igalia.com>
2350
2351         Reviewed by David Hyatt.
2352
2353         [Cairo] Remove unnecessary full-surface copies from ImageCairo and GraphicsContextCairo
2354         https://bugs.webkit.org/show_bug.cgi?id=44076
2355
2356         No new tests as functionality has not changed.
2357
2358         * GNUmakefile.am: Added GRefPtrCairo to the sources list.
2359         * platform/graphics/cairo/GRefPtrCairo.cpp: Added.
2360         (WTF::refGPtr): Added specializations for cairo_t and cairo_surface_t.
2361         (WTF::derefGPtr):
2362         * platform/graphics/cairo/GRefPtrCairo.h: Added.
2363         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2364         (WebCore::GraphicsContext::createPlatformShadow): Access the image surface directly
2365         from the ImageBuffer instead of wrapping it in an Image.
2366         * platform/graphics/cairo/ImageCairo.cpp:
2367         (WebCore::Image::drawPattern): Create the temporary surface using cairo primitives
2368         instead of through the platform-independent WebCore code.
2369
2370 2010-08-17  Martin Robinson  <mrobinson@igalia.com>
2371
2372         [GTK] Clean up WebCore/platform/graphics/gtk/ImageGtk.cpp
2373         https://bugs.webkit.org/show_bug.cgi?id=44069
2374
2375         No new tests as functionality has not changed.
2376
2377         * GNUmakefile.am: Add WEBKITGTK_API_VERSION_STRING definition, which
2378         allows WebCore to use this as well.
2379         * platform/graphics/gtk/ImageGtk.cpp:
2380         (getWebKitDataDirectory): Added this helper.
2381         (WebCore::Image::loadPlatformResource): Use GOwnPtr for gchar pointers and
2382         use the new getWebKitDataDirectory helper.
2383         * platform/gtk/GOwnPtrGtk.cpp: Move the GtkIconInfo template specialization to this file.
2384         (WTF::GtkIconInfo): Added this forward declaration.
2385         * platform/gtk/GOwnPtrGtk.h: Declaration for new template specialization.
2386
2387 2010-08-17  Stephen White  <senorblanco@chromium.org>
2388
2389         Reviewed by Darin Fisher.
2390
2391         [CHROMIUM] Eliminate a memcpy() from the canvas.drawImage(canvas, ...) path.
2392         This is the Skia followup to Dave Hyatt's patch in r65449.
2393         https://bugs.webkit.org/show_bug.cgi?id=44115
2394
2395         Covered by canvas layout tests.
2396
2397         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
2398         Add a "copyPixels" argument to the create() static to indicate if
2399         the caller wants the pixels to be copied or ref'ed.
2400         * platform/graphics/skia/ImageBufferSkia.cpp:
2401         (WebCore::ImageBuffer::drawsUsingCopy):
2402         We don't use the always-copy path anymore, so return false.
2403         (WebCore::ImageBuffer::copyImage):
2404         Shouldn't get here anymore, so ASSERT_NOT_REACHED.
2405         (WebCore::ImageBuffer::draw):
2406         (WebCore::ImageBuffer::drawPattern):
2407         Create a temporary BitampImageSingleFrameSkia wrapped around the
2408         canvas's bitmap, and draw with it immediately.  If drawing to our own
2409         canvas, copy the pixels, otherwise just shallow copy.
2410         * platform/graphics/skia/ImageSkia.cpp:
2411         (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
2412         Make the constructor take an SkBitmap to be wrapped.
2413         (WebCore::BitmapImageSingleFrameSkia::create):
2414         Implement the "copyPixels" flag:  if true, do a deep copy, otherwise
2415         do a shallow copy.
2416         * platform/graphics/skia/NativeImageSkia.cpp:
2417         (WebCore::NativeImageSkia::NativeImageSkia):
2418         * platform/graphics/skia/NativeImageSkia.h:
2419         Implement a new constructor that shallow-copies the given SkBitmap.
2420
2421 2010-08-17  Jian Li  <jianli@chromium.org>
2422
2423         Reviewed by Darin Fisher.
2424
2425         Move BlobRegistry interface and implementation to platform/network
2426         https://bugs.webkit.org/show_bug.cgi?id=44116
2427
2428         Also move BlobData and BlobStorageData since they're part of BlobRegistry
2429         implementation.
2430
2431         * Android.mk:
2432         * CMakeLists.txt:
2433         * GNUmakefile.am:
2434         * WebCore.gypi:
2435         * WebCore.pro:
2436         * WebCore.vcproj/WebCore.vcproj:
2437         * WebCore.xcodeproj/project.pbxproj:
2438         * platform/network/BlobData.cpp: Renamed from WebCore/platform/BlobData.cpp.
2439         * platform/network/BlobData.h: Renamed from WebCore/platform/BlobData.h.
2440         * platform/network/BlobRegistry.h: Renamed from WebCore/platform/BlobRegistry.h.
2441         * platform/network/BlobRegistryImpl.cpp: Renamed from WebCore/html/BlobRegistryImpl.cpp.
2442         * platform/network/BlobRegistryImpl.h: Renamed from WebCore/html/BlobRegistryImpl.h.
2443         * platform/network/BlobStorageData.h: Renamed from WebCore/html/BlobStorageData.h.
2444
2445 2010-08-17  Andreas Kling  <andreas.kling@nokia.com>
2446
2447         Reviewed by Ariya Hidayat.
2448
2449         [Qt] Path: Fast approximation of stroke bounding rects
2450         https://bugs.webkit.org/show_bug.cgi?id=44014
2451
2452         In canvas's stroke(), use QPainterPath::controlPointRect() to calculate
2453         a slightly larger bounding rect in a fraction of the time.
2454
2455         * html/canvas/CanvasRenderingContext2D.cpp:
2456         (WebCore::CanvasRenderingContext2D::stroke):
2457
2458 2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
2459
2460         Reviewed by Kenneth Rohde Christiansen.
2461         Set PluginQuirkRequiresDefaultScreenDepth for all Flash versions and not
2462         just Flash 10.
2463
2464         https://bugs.webkit.org/show_bug.cgi?id=44043
2465
2466         * plugins/PluginPackage.cpp:
2467         (WebCore::PluginPackage::determineQuirks):
2468
2469 2010-08-17  Jian Li  <jianli@chromium.org>
2470
2471         Reviewed by David Levin.
2472
2473         Change FileStream implementation to prepare for blob resource handling.
2474         https://bugs.webkit.org/show_bug.cgi?id=43985
2475
2476         Change FileStream to support synchronous usage only. All the asychronous
2477         logics are moved to FileStreamProxy. Update the existing FileReader code
2478         to adapt to this change.
2479
2480         * html/FileReader.cpp: Account for FileStreamProxy changes.
2481         (WebCore::FileReader::didStart):
2482         (WebCore::FileReader::didGetSize):
2483         (WebCore::FileReader::didOpen):
2484         (WebCore::FileReader::didRead):
2485         * html/FileReader.h:
2486         * html/FileStream.cpp: Remove m_client and make all calls synchronous only.
2487         (WebCore::FileStream::FileStream):
2488         (WebCore::FileStream::start):
2489         (WebCore::FileStream::stop):
2490         (WebCore::FileStream::getSize):
2491         (WebCore::FileStream::openForRead):
2492         (WebCore::FileStream::openForWrite):
2493         (WebCore::FileStream::close):
2494         (WebCore::FileStream::read):
2495         (WebCore::FileStream::write):
2496         (WebCore::FileStream::truncate):
2497         * html/FileStream.h: Add getSize() and make all calls synchronous by adding return values.
2498         (WebCore::FileStream::create):
2499         * html/FileStreamClient.h: Account for FileStreamProxy changes.
2500         (WebCore::FileStreamClient::didRead):
2501         (WebCore::FileStreamClient::didTruncate):
2502         (WebCore::FileStreamClient::didOpen):
2503         * html/FileStreamProxy.cpp: All the logics to handle asynchronous calls are wrapped here.
2504         (WebCore::FileStreamProxy::FileStreamProxy):
2505         (WebCore::FileStreamProxy::create):
2506         (WebCore::FileStreamProxy::fileThread):
2507         (WebCore::didStart):
2508         (WebCore::FileStreamProxy::startOnFileThread):
2509         (WebCore::FileStreamProxy::stop):
2510         (WebCore::derefProxyOnContext):
2511         (WebCore::FileStreamProxy::stopOnFileThread):
2512         (WebCore::didGetSize):
2513         (WebCore::FileStreamProxy::getSize):
2514         (WebCore::FileStreamProxy::getSizeOnFileThread):
2515         (WebCore::didOpen):
2516         (WebCore::FileStreamProxy::openForRead):
2517         (WebCore::FileStreamProxy::openForReadOnFileThread):
2518         (WebCore::FileStreamProxy::openForWrite):
2519         (WebCore::FileStreamProxy::openForWriteOnFileThread):
2520         (WebCore::FileStreamProxy::close):
2521         (WebCore::FileStreamProxy::closeOnFileThread):
2522         (WebCore::didRead):
2523         (WebCore::FileStreamProxy::read):
2524         (WebCore::FileStreamProxy::readOnFileThread):
2525         (WebCore::didWrite):
2526         (WebCore::FileStreamProxy::write):
2527         (WebCore::FileStreamProxy::writeOnFileThread):
2528         (WebCore::didTruncate):
2529         (WebCore::FileStreamProxy::truncate):
2530         (WebCore::FileStreamProxy::truncateOnFileThread):
2531         * html/FileStreamProxy.h:
2532         * html/FileThreadTask.h: Change all methods to return void since return value is not needed now.
2533
2534 2010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>
2535
2536         Returned WebCore.xcodeproj to default settings after http://trac.webkit.org/changeset/65468/trunk/WebCore/WebCore.xcodeproj/project.pbxproj.
2537
2538         * WebCore.xcodeproj/project.pbxproj: Removed developmentRegion = English line.
2539
2540 2010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>
2541
2542         Reviewed by Eric Seidel.
2543
2544         Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
2545         https://bugs.webkit.org/show_bug.cgi?id=43749
2546
2547         Land the actual change that I intended to land in http://trac.webkit.org/changeset/65508.
2548
2549         Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
2550         so the check for shadow tree existence isn't needed.
2551         Gives a small, but consistent win in Dromaeo's DOM Modification test.
2552
2553         * dom/Node.h:
2554         (WebCore::Node::canLazyAttach): Changed to always return true.
2555
2556 2010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2557
2558         Reviewed by Eric Carlson.
2559
2560         Restore intrinsic size of video elements after loading poster
2561
2562         The element might already have the instrinsic size of the video, in
2563         which case we don't want to override it witht that of the image.
2564
2565         * rendering/RenderVideo.cpp: call updateIntrinsicSize() to restore size
2566
2567 2010-08-17  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
2568
2569         Reviewed by Steve Block.
2570
2571         Geolocation preemptive permissions policy is buggy
2572         https://bugs.webkit.org/show_bug.cgi?id=42811
2573
2574         While waiting for permission, m_startRequestPermissionNotifier was 
2575         used to consider only one pending request. This patch implements a set
2576         m_pendingForPermissionNotifiers to maintain set of pending requests. 
2577         When user grants/denies permission all listeners will be notified. 
2578         Also fixed issue with hasZeroTimeout() where startTimerIfNeeded() has
2579         to start irrespective of permission state
2580
2581         Tests: fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
2582                fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
2583
2584         * WebCore.pro:
2585         * page/Geolocation.cpp:
2586         (WebCore::Geolocation::startRequest):
2587         (WebCore::Geolocation::setIsAllowed):
2588         (WebCore::Geolocation::startUpdating):
2589         (WebCore::Geolocation::handlePendingPermissionNotifiers):
2590         * page/Geolocation.h:
2591
2592 2010-08-11  Jeremy Orlow  <jorlow@chromium.org>
2593
2594         Beginnings of IndexedDB persistance + IDBDatabase.description fleshed out
2595         https://bugs.webkit.org/show_bug.cgi?id=43744
2596
2597         The beginnings of a SQLite backend for IndexedDB.  Right now, only persists
2598         meta-data for the database.  The rest is coming in future patches.  Adds
2599         a manual test to verify persistance.
2600
2601         Test: storage/indexeddb/database-description.html
2602               + a manual test
2603
2604         * Android.mk:
2605         * CMakeLists.txt:
2606         * GNUmakefile.am:
2607         * WebCore.gypi:
2608         * WebCore.vcproj/WebCore.vcproj:
2609         * WebCore.xcodeproj/project.pbxproj:
2610         * manual-tests/indexed-database.html: Added.
2611         * page/SecurityOrigin.cpp:
2612         (WebCore::SecurityOrigin::databaseIdentifier):
2613         * platform/FileSystem.cpp: Added.
2614         (WebCore::):
2615         (WebCore::shouldEscapeUChar):
2616         (WebCore::encodeForFileName):
2617         * platform/FileSystem.h:
2618         * storage/IDBDatabase.cpp:
2619         (WebCore::IDBDatabase::IDBDatabase):
2620         * storage/IDBDatabase.h:
2621         (WebCore::IDBDatabase::description):
2622         * storage/IDBDatabaseBackendImpl.cpp:
2623         (WebCore::extractMetaData):
2624         (WebCore::setMetaData):
2625         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
2626         (WebCore::IDBDatabaseBackendImpl::setDescription):
2627         * storage/IDBDatabaseBackendImpl.h:
2628         (WebCore::IDBDatabaseBackendImpl::create):
2629         * storage/IDBFactory.h:
2630         * storage/IDBFactory.idl:
2631         * storage/IDBFactoryBackendImpl.cpp:
2632         (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
2633         (WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
2634         (WebCore::openSQLiteDatabase):
2635         (WebCore::createTables):
2636         (WebCore::IDBFactoryBackendImpl::open):
2637         * storage/IDBFactoryBackendImpl.h:
2638         (WebCore::IDBFactoryBackendImpl::create):
2639
2640 2010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>
2641
2642         Reviewed by Eric Seidel.
2643
2644         Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
2645         https://bugs.webkit.org/show_bug.cgi?id=43749
2646
2647         Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
2648         so the check for shadow tree existence isn't needed.
2649
2650         Gives a small, but consisten win in Dromaeo's DOM Modification test.
2651
2652         * dom/Node.cpp: Removed canLazyAttach declaration.
2653         * dom/Node.h:
2654         (WebCore::Node::canLazyAttach): Changed to always return true.
2655
2656 2010-08-17  Pavel Feldman  <pfeldman@chromium.org>
2657
2658         Reviewed by Yury Semikhatsky.
2659
2660         Web Inspector: [CRASH] Console formatting crashes after cross-domain navigation.
2661         https://bugs.webkit.org/show_bug.cgi?id=44103
2662
2663         * bindings/js/JSInjectedScriptHostCustom.cpp:
2664         (WebCore::InjectedScriptHost::injectedScriptFor):
2665         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2666         (WebCore::InjectedScriptHost::injectedScriptFor):
2667         * inspector/ConsoleMessage.cpp:
2668         (WebCore::ConsoleMessage::addToFrontend):
2669
2670 2010-08-17  Yury Semikhatsky  <yurys@chromium.org>
2671
2672         Reviewed by Pavel Feldman.
2673
2674         Web Inspector: upstream Chromium debugger step tests
2675         https://bugs.webkit.org/show_bug.cgi?id=44106
2676
2677         Tests: inspector/debugger-step-in.html
2678                inspector/debugger-step-out.html
2679                inspector/debugger-step-over.html
2680
2681         * bindings/js/ScriptDebugServer.cpp:
2682         (WebCore::ScriptDebugServer::returnEvent): check that debugger is still attached after continue to ensure
2683         that current call frame is not 0.
2684
2685 2010-08-17  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
2686
2687         Reviewed by David Levin.
2688
2689         Trivial fix removing the self-inclusion of a couple of header files.
2690
2691         Self inclusion in Document.h and RenderTheme.h
2692         https://bugs.webkit.org/show_bug.cgi?id=44065
2693
2694         * dom/Document.h:
2695         * rendering/RenderTheme.h:
2696
2697 2010-08-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
2698
2699         Reviewed by Ariya Hidayat.
2700
2701         [Qt] Move the accelerated compositing build flag to the right place
2702         https://bugs.webkit.org/show_bug.cgi?id=43882
2703
2704         No new tests: build fix.
2705
2706         * WebCore.pro:
2707
2708 2010-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2709
2710         Unreviewed, rolling out r65500.
2711         http://trac.webkit.org/changeset/65500
2712         https://bugs.webkit.org/show_bug.cgi?id=44108
2713
2714         Qt bots failed to compile. (Requested by loislo on #webkit).
2715
2716         * GNUmakefile.am:
2717         * WebCore.gyp/WebCore.gyp:
2718         * WebCore.gypi:
2719         * WebCore.pri:
2720         * WebCore.pro:
2721         * WebCore.vcproj/copyInspectorFiles.cmd:
2722         * WebCore.xcodeproj/project.pbxproj:
2723         * combine-javascript-resources:
2724         * inspector/CodeGeneratorInspector.pm:
2725         * inspector/front-end/InspectorBackendStub.js: Added.
2726         (WebInspector.InspectorBackendStub):
2727         (WebInspector.InspectorBackendStub.prototype._registerDelegate):
2728         (WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
2729         * inspector/front-end/InspectorBackendStub.qrc: Removed.
2730         * inspector/front-end/WebKit.qrc:
2731
2732 2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>
2733
2734         Reviewed by Yury Semikhatsky.
2735
2736         Web Inspector: replace hand written InspectorBackendStub.js by generated one.
2737         New command-line flag was added to combine-javascript-resources.
2738         It specifies the location of generated scripts.
2739         https://bugs.webkit.org/show_bug.cgi?id=43791
2740
2741         * GNUmakefile.am:
2742         * WebCore.gyp/WebCore.gyp:
2743         * WebCore.gypi:
2744         * WebCore.pri:
2745         * WebCore.pro:
2746         * WebCore.vcproj/WebCore.vcproj:
2747         * WebCore.xcodeproj/project.pbxproj:
2748         * combine-javascript-resources:
2749         * inspector/CodeGeneratorInspector.pm:
2750         * inspector/front-end/InspectorBackendStub.js: Removed.
2751         * inspector/front-end/WebKit.qrc:
2752
2753 2010-08-17  Pavel Feldman  <pfeldman@chromium.org>
2754
2755         Reviewed by Pavel Feldman.
2756
2757         Web Inspector: get rid of node and scoped object-specific ids.
2758         https://bugs.webkit.org/show_bug.cgi?id=44097
2759
2760         * inspector/front-end/ConsoleView.js:
2761         * inspector/front-end/ElementsTreeOutline.js:
2762         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
2763         * inspector/front-end/EventListenersSidebarPane.js:
2764         * inspector/front-end/InjectedScript.js:
2765         (injectedScriptConstructor.):
2766         (injectedScriptConstructor):
2767         * inspector/front-end/InjectedScriptAccess.js:
2768         (InjectedScriptAccess):
2769         (InjectedScriptAccess.getForNode):
2770         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
2771         (InjectedScriptAccess._installHandler):
2772         * inspector/front-end/PropertiesSidebarPane.js:
2773         (WebInspector.PropertiesSidebarPane.prototype.update):
2774         * inspector/front-end/RemoteObject.js:
2775         (WebInspector.RemoteObjectId):
2776         (WebInspector.RemoteObject.resolveNode):
2777         * inspector/front-end/ScriptsPanel.js:
2778
2779 2010-08-17  Xan Lopez  <xlopez@igalia.com>
2780
2781         Reviewed by Gustavo Noronha.
2782
2783         [GTK] Fix wrapping of core Events in the bindings
2784         https://bugs.webkit.org/show_bug.cgi?id=44095
2785
2786         Return the proper GObject type instead of hardcoding
2787         WebKitDOMEvent for all Event types.
2788
2789         * bindings/gobject/GObjectEventListener.cpp:
2790         (WebCore::GObjectEventListener::handleEvent):
2791         * bindings/gobject/WebKitDOMBinding.cpp:
2792         (WebKit::kit):
2793
2794 2010-08-17  Xan Lopez  <xlopez@igalia.com>
2795
2796         Reviewed by Gustavo Noronha.
2797
2798         Revert supposed build-fix which was in fact reverting a previous
2799         build fix which was correct (oh dear).
2800
2801         * GNUmakefile.am:
2802
2803 2010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2804
2805         Reviewed by Antonio Gomes.
2806
2807         [Qt] Add media element support for preload=none
2808
2809         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2810         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2811
2812 2010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2813
2814         Reviewed by Antonio Gomes.
2815
2816         [Qt] Pre-roll media when loading media elements
2817
2818         This ensures we get correct size-hints from QtMultimedia, as well as
2819         the media states Buffering and Buffered instead of Loading and Loaded,
2820         which we use to transition into MediaPlayer::HaveEnoughData.
2821
2822         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2823         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2824
2825 2010-08-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2826
2827         Reviewed by Kenneth Rohde Christiansen.
2828
2829         [Qt] Fix missing default controls for stand-alone media elements
2830
2831         https://bugs.webkit.org/show_bug.cgi?id=35427
2832
2833         * css/mediaControlsQt.css:
2834
2835 2010-08-17  Ariya Hidayat  <ariya@sencha.com>
2836
2837         Reviewed by Kenneth Rohde Christiansen.
2838
2839         [Qt] Reduce the size of the shadow buffer to the clip region
2840         https://bugs.webkit.org/show_bug.cgi?id=44091
2841
2842         Instead of allocating the buffer image (for the blur support) as big
2843         as the rectangle which casts the shadow, we limit the size to the
2844         current clip region.
2845
2846         * platform/graphics/qt/ContextShadow.cpp:
2847         (WebCore::ContextShadow::drawShadowRect):
2848
2849 2010-08-17  Philippe Normand  <pnormand@igalia.com>
2850
2851         Reviewed by Martin Robinson.
2852
2853         [GStreamer] media/invalid-media-url-crash.html fails
2854         https://bugs.webkit.org/show_bug.cgi?id=42960
2855
2856         Implemented two ResourceHandleClient callbacks that need to notify
2857         downstream GStreamer elements of errors while accessing the
2858         resource.
2859
2860         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2861         (StreamingClient::wasBlocked):
2862         (StreamingClient::cannotShowURL):
2863
2864 2010-08-16  Gavin Barraclough  <barraclough@apple.com>
2865
2866         Rubber stamped by Sam Weinig
2867
2868         Remove unnecessary includes from UString.h, add new includes as necessary.
2869
2870         * dom/ScriptExecutionContext.h:
2871         * loader/appcache/ApplicationCache.cpp:
2872
2873 2010-08-16  Andreas Kling  <andreas.kling@nokia.com>
2874
2875         Reviewed by Darin Adler.
2876
2877         CSS: Add fast-path for rgba() color parsing
2878         https://bugs.webkit.org/show_bug.cgi?id=42965
2879
2880         Test: fast/canvas/rgba-parsing.html
2881
2882         * css/CSSParser.cpp:
2883         (WebCore::CSSParser::parseColor): Extended with support for rgba().
2884         (WebCore::parseAlphaValue): Added, parses an alpha value using
2885         WTF::strtod() (if necessary) and clamps between 0 and 1.
2886         (WebCore::isTenthAlpha):
2887
2888 2010-08-16  Kinuko Yasuda  <kinuko@chromium.org>
2889
2890         Reviewed by Dumitru Daniliuc.
2891
2892         Add idl and mock classes for FileSystem API's {File,Directory}Entry and related interfaces
2893         https://bugs.webkit.org/show_bug.cgi?id=43993
2894
2895         Adding DirectoryEntry, DirectoryReader, EntriesCallback and FileEntry as defined in HTML5 FileSystem API.
2896         http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
2897
2898         Also adding Makefile entries for idl and mock classes added in changeset 64414 (except for Android platforms).
2899
2900         Tests will be added when we add underlying implementation.
2901
2902         * CMakeLists.txt:
2903         * DerivedSources.cpp:
2904         * DerivedSources.make:
2905         * GNUmakefile.am:
2906         * WebCore.gypi:
2907         * WebCore.pri:
2908         * WebCore.pro:
2909         * WebCore.vcproj/WebCore.vcproj:
2910         * WebCore.xcodeproj/project.pbxproj:
2911         * storage/DOMFileSystem.cpp:
2912         (WebCore::DOMFileSystem::root):
2913         * storage/DOMFileSystem.h:
2914         * storage/DOMFileSystem.idl:
2915         * storage/DirectoryEntry.cpp: Added.
2916         * storage/DirectoryEntry.h: Added.
2917         * storage/DirectoryEntry.idl: Added.
2918         * storage/DirectoryReader.cpp: Added.
2919         * storage/DirectoryReader.h: Added.
2920         * storage/DirectoryReader.idl: Added.
2921         * storage/EntriesCallback.h: Added.
2922         * storage/EntriesCallback.idl: Added.
2923         * storage/EntryArray.cpp: Added.
2924         * storage/EntryArray.h: Added.
2925         * storage/EntryArray.idl: Added.
2926         * storage/Entry.cpp:
2927         (WebCore::Entry::Entry):
2928         (WebCore::Entry::getMetadata):
2929         (WebCore::Entry::moveTo):
2930         (WebCore::Entry::copyTo):
2931         (WebCore::Entry::remove):
2932         (WebCore::Entry::getParent):
2933         * storage/Entry.h:
2934         (WebCore::Entry::isFile):
2935         (WebCore::Entry::isDirectory):
2936         * storage/Entry.idl:
2937         * storage/FileEntry.cpp: Added.
2938         * storage/FileEntry.h: Added.
2939         * storage/FileEntry.idl: Added.
2940
2941 2010-08-16  Andreas Kling  <andreas.kling@nokia.com>
2942
2943         Reviewed by Ariya Hidayat.
2944
2945         [Qt] Path::closeSubpath() should only close the last subpath if it has >1 point
2946         https://bugs.webkit.org/show_bug.cgi?id=44061
2947
2948         Spec link:
2949         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-closepath
2950
2951         Test: fast/canvas/canvas-closePath-single-point.html
2952
2953         * platform/graphics/Path.h: Add a Qt-only member to track the last subpath.
2954         * platform/graphics/qt/PathQt.cpp:
2955         (WebCore::Path::closeSubpath): Only close the last subpath if it
2956         has more than 1 point. Otherwise behave as moveTo(first point in last subpath)
2957         (WebCore::Path::Path):
2958         (WebCore::Path::operator=):
2959         (WebCore::Path::moveTo):
2960         (WebCore::Path::transform):
2961
2962 2010-08-16  Nate Chapin  <japhet@chromium.org>
2963
2964         Unreviewed, Chromium mac build fix (with help from jamesr).
2965
2966         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2967         (WebCore::ScrollbarThemeChromiumMac::paint):
2968
2969 2010-08-16  Gavin Barraclough  <barraclough@apple.com>
2970
2971         Reviewed by Sam Weinig
2972
2973         Bug 44080 - String find/reverseFind methods need tidying up
2974         These methods have a couple of problems with their interface, and implementation.
2975
2976         These methods take and int index, and return an int - however this is problematic
2977         since on 64-bit string indices may have a full 32-bit range.  This spills out into
2978         surrounding code, which unsafely casts string indices from unsigned to int. Code
2979         checking the result of these methods check for a mix of "== -1", "< 0", and
2980         "== notFound".  Clean this up by changing these methods to take an unsigned
2981         starting index, and return a size_t. with a failed match indicated by notFound.
2982         reverseFind also has a special meaning for the starting index argument, in that a
2983         negative index is interpreted as an offset back from the end of the string. Remove
2984         this functionality, in the (1!) case where it is used we should just calculate the
2985         offset by subtracting from the string's length.
2986
2987         The implementation has a few problems too.  The code is not in webkit style, in
2988         using assorted abbreviations in variable names, and implementations of similar
2989         find methods with differing argument types were unnecessarily inconsistent. When
2990         find is passed const char* data the string would be handled as latin1 (zero
2991         extended to UTF-16) for all characters but the first; this is sign extended.
2992         Case-insensitive find is broken for unicode strings; the hashing optimization is
2993         not unicode safe, and could result in false negatives.
2994
2995         Unify UString find methods to match String.
2996
2997         * css/CSSSelector.cpp:
2998         (WebCore::CSSSelector::RareData::parseNth):
2999         * css/CSSStyleDeclaration.cpp:
3000         (WebCore::CSSStyleDeclaration::setProperty):
3001         * css/CSSStyleSelector.cpp:
3002         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3003         * dom/Document.cpp:
3004         (WebCore::Document::getImageMap):
3005         * editing/CompositeEditCommand.cpp:
3006         (WebCore::CompositeEditCommand::inputText):
3007         * editing/InsertTextCommand.cpp:
3008         (WebCore::InsertTextCommand::input):
3009         * editing/TextIterator.cpp:
3010         (WebCore::TextIterator::handleTextBox):
3011         * editing/TypingCommand.cpp:
3012         (WebCore::TypingCommand::insertText):
3013         * editing/markup.cpp:
3014         (WebCore::fillContainerFromString):
3015         (WebCore::createFragmentFromText):
3016         * html/File.cpp:
3017         (WebCore::File::Init):
3018         * html/HTMLAnchorElement.cpp:
3019         (WebCore::HTMLAnchorElement::setHost):
3020         * html/HTMLEmbedElement.cpp:
3021         (WebCore::HTMLEmbedElement::parseMappedAttribute):
3022         * html/HTMLFormControlElement.cpp:
3023         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
3024         * html/HTMLObjectElement.cpp:
3025         (WebCore::HTMLObjectElement::parseMappedAttribute):
3026         * inspector/InspectorDOMAgent.cpp:
3027         (WebCore::InspectorDOMAgent::performSearch):
3028         * loader/CrossOriginPreflightResultCache.cpp:
3029         (WebCore::parseAccessControlAllowList):
3030         * loader/MainResourceLoader.cpp:
3031         (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
3032         * loader/appcache/ApplicationCacheStorage.cpp:
3033         (WebCore::parseHeader):
3034         (WebCore::parseHeaders):
3035         * loader/icon/IconFetcher.cpp:
3036         (WebCore::parseIconLink):
3037         * page/DOMWindow.cpp:
3038         (WebCore::DOMWindow::parseModalDialogFeatures):
3039         * page/SecurityOrigin.cpp:
3040         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
3041         * page/UserContentURLPattern.cpp:
3042         (WebCore::UserContentURLPattern::parse):
3043         * page/XSSAuditor.cpp:
3044         (WebCore::XSSAuditor::findInRequest):
3045         * platform/ContentType.cpp:
3046         (WebCore::ContentType::parameter):
3047         (WebCore::ContentType::type):
3048         * platform/KURL.cpp:
3049         (WebCore::KURL::lastPathComponent):
3050         (WebCore::KURL::setProtocol):
3051         (WebCore::decodeURLEscapeSequences):
3052         (WebCore::substituteBackslashes):
3053         (WebCore::mimeTypeFromDataURL):
3054         * platform/Length.cpp:
3055         (WebCore::newCoordsArray):
3056         (WebCore::newLengthArray):
3057         * platform/LinkHash.cpp:
3058         (WebCore::findSlashDotDotSlash):
3059         (WebCore::findSlashSlash):
3060         (WebCore::findSlashDotSlash):
3061         (WebCore::cleanPath):
3062         * platform/MIMETypeRegistry.cpp:
3063         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
3064         * platform/SchemeRegistry.cpp:
3065         (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
3066         * platform/graphics/MediaPlayer.cpp:
3067         (WebCore::MediaPlayer::load):
3068         * platform/mac/DragImageMac.mm:
3069         (WebCore::createDragImageIconForCachedImage):
3070         * platform/network/CredentialStorage.cpp:
3071         (WebCore::protectionSpaceMapKeyFromURL):
3072         (WebCore::findDefaultProtectionSpaceForURL):
3073         * platform/network/HTTPParsers.cpp:
3074         (WebCore::skipWhiteSpace):
3075         (WebCore::skipToken):
3076         (WebCore::parseHTTPRefresh):
3077         (WebCore::filenameFromHTTPContentDisposition):
3078         (WebCore::findCharsetInMediaType):
3079         (WebCore::parseXSSProtectionHeader):
3080         (WebCore::extractReasonPhraseFromHTTPStatusLine):
3081         * platform/network/ResourceResponseBase.cpp:
3082         (WebCore::ResourceResponseBase::isAttachment):
3083         (WebCore::parseCacheHeader):
3084         * rendering/RenderEmbeddedObject.cpp:
3085         (WebCore::RenderEmbeddedObject::updateWidget):
3086         * storage/Entry.cpp:
3087         (WebCore::Entry::Entry):
3088         * svg/SVGFont.cpp:
3089         (WebCore::isCompatibleGlyph):
3090         * svg/SVGURIReference.cpp:
3091         (WebCore::SVGURIReference::getTarget):
3092         * svg/animation/SVGSMILElement.cpp:
3093         (WebCore::SVGSMILElement::parseClockValue):
3094         (WebCore::SVGSMILElement::parseCondition):
3095         * xml/XPathFunctions.cpp:
3096         (WebCore::XPath::FunSubstringBefore::evaluate):
3097         (WebCore::XPath::FunSubstringAfter::evaluate):
3098         (WebCore::XPath::FunTranslate::evaluate):
3099         (WebCore::XPath::FunLang::evaluate):
3100         * xml/XPathParser.cpp:
3101         (WebCore::XPath::Parser::expandQName):
3102
3103 2010-08-16  Ryosuke Niwa  <rniwa@webkit.org>
3104
3105         Reviewed by Tony Chang.
3106
3107         REGRESSION(r65208): editing/pasteboard/smart-paste-003.html and smart-paste-004.html crash on Windows Chromium
3108         https://bugs.webkit.org/show_bug.cgi?id=44070
3109
3110         The crash was caused by start or end node being removed in pushDownInlineStyleAroundNode.
3111         It made start and end orphaned, and caused s.node() to be detached from the document.
3112         Fixed the crash by using nodes passed to pushDownInlineStyleAroundNode for start and end if the original
3113         start and end are orphaned because pushDownInlineStyleAroundNode won't prune targetNode.
3114
3115         Test: editing/pasteboard/smart-paste-003-trailing-whitespace.html
3116
3117         * editing/ApplyStyleCommand.cpp:
3118         (WebCore::ApplyStyleCommand::removeInlineStyle):
3119
3120 2010-08-16  James Robinson  <jamesr@chromium.org>
3121
3122         Compile fix. Remove ANGLEWebKitBridge classes from Chromium build.  They are unused.
3123
3124         * WebCore.gypi:
3125
3126 2010-08-16  Vincent Scheib  <scheib@chromium.org>
3127
3128         Reviewed by Dimitri Glazkov.
3129
3130         Canvas2D does not support images larger than system's GPU max texture size
3131         https://bugs.webkit.org/show_bug.cgi?id=43864
3132
3133         A new class "TilingData" has been created that provides logic for 
3134         splitting a large image into a series of smaller tiles.
3135         
3136         GLES2Texture and CLES2Canvas are modified to use the TilingData to
3137         split images on texture upload and render one logical image as many smaller
3138         images.
3139
3140         TilingData is tested via unit tests in WebKit/chromium/tests/TilingDataTest.cpp
3141         
3142         * WebCore.gypi:
3143         * platform/graphics/chromium/GLES2Canvas.cpp:
3144         (WebCore::GLES2Canvas::drawTexturedRect):
3145         (WebCore::GLES2Canvas::drawTexturedRectTile):
3146         * platform/graphics/chromium/GLES2Canvas.h:
3147         * platform/graphics/chromium/GLES2Texture.cpp:
3148         (WebCore::GLES2Texture::GLES2Texture):
3149         (WebCore::GLES2Texture::~GLES2Texture):
3150         (WebCore::GLES2Texture::create):
3151         (WebCore::copySubRect):
3152         (WebCore::GLES2Texture::load):
3153         (WebCore::GLES2Texture::bindTile):
3154         * platform/graphics/chromium/GLES2Texture.h:
3155         (WebCore::GLES2Texture::tiles):
3156         * platform/graphics/chromium/TilingData.cpp: Added.
3157         (WebCore::computeNumTiles):
3158         (WebCore::TilingData::TilingData):
3159         (WebCore::TilingData::tileXIndexFromSrcCoord):
3160         (WebCore::TilingData::tileYIndexFromSrcCoord):
3161         (WebCore::TilingData::tileBounds):
3162         (WebCore::TilingData::tileBoundsWithBorder):
3163         (WebCore::TilingData::tileBoundsNormalized):
3164         (WebCore::TilingData::tilePositionX):
3165         (WebCore::TilingData::tilePositionY):
3166         (WebCore::TilingData::tileSizeX):
3167         (WebCore::TilingData::tileSizeY):
3168         (WebCore::TilingData::overlappedTileIndices):
3169         (WebCore::TilingData::intersectDrawQuad):
3170         * platform/graphics/chromium/TilingData.h: Added.
3171         (WebCore::TilingData::maxTextureSize):
3172         (WebCore::TilingData::totalSizeX):
3173         (WebCore::TilingData::totalSizeY):
3174         (WebCore::TilingData::numTiles):
3175         (WebCore::TilingData::numTilesX):
3176         (WebCore::TilingData::numTilesY):
3177         (WebCore::TilingData::tileIndex):
3178         (WebCore::TilingData::tileXIndex):
3179         (WebCore::TilingData::tileYIndex):
3180         (WebCore::TilingData::TilingData):
3181         (WebCore::TilingData::assertTile):
3182         * platform/graphics/skia/ImageSkia.cpp:
3183         (WebCore::BitmapImage::draw):
3184         * platform/graphics/skia/PlatformContextSkia.cpp:
3185         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
3186
3187 2010-08-16  David Hyatt  <hyatt@apple.com>
3188
3189         Reviewed by Anders Carlsson.
3190
3191         https://bugs.webkit.org/show_bug.cgi?id=43507, stop ImageBuffer from copying its data when rendering after canvas changes happen.
3192         
3193         This patch renames ImageBuffer::image() to ImageBuffer::copyImage(). The new method always returns a new copy that is a current
3194         snapshot of the ImageBuffer.
3195         
3196         To draw an ImageBuffer, you now use new GraphicsContext calls: drawImageBuffer.  Platforms can then optimize these calls to draw
3197         efficiently without having to copy the bits of the ImageBuffer into an Image.
3198
3199         * WebCore.xcodeproj/project.pbxproj:
3200         * css/CSSCanvasValue.cpp:
3201         (WebCore::CSSCanvasValue::image):
3202         * html/HTMLCanvasElement.cpp:
3203         (WebCore::HTMLCanvasElement::willDraw):
3204         (WebCore::HTMLCanvasElement::reset):
3205         (WebCore::HTMLCanvasElement::paint):
3206         (WebCore::HTMLCanvasElement::setSurfaceSize):
3207         (WebCore::HTMLCanvasElement::copiedImage):
3208         (WebCore::HTMLCanvasElement::clearCopiedImage):
3209         * html/HTMLCanvasElement.h:
3210         * html/canvas/CanvasPattern.cpp:
3211         (WebCore::CanvasPattern::CanvasPattern):
3212         * html/canvas/CanvasPattern.h:
3213         (WebCore::CanvasPattern::create):
3214         * html/canvas/CanvasRenderingContext2D.cpp:
3215         (WebCore::CanvasRenderingContext2D::drawImage):
3216         (WebCore::CanvasRenderingContext2D::createPattern):
3217         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3218         * html/canvas/WebGLRenderingContext.cpp:
3219         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
3220         (WebCore::WebGLRenderingContext::reshape):
3221         (WebCore::WebGLRenderingContext::texImage2D):
3222         (WebCore::WebGLRenderingContext::texSubImage2D):
3223         * html/canvas/WebGLRenderingContext.h:
3224         (WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
3225         * platform/graphics/GeneratedImage.cpp:
3226         (WebCore::GeneratedImage::drawPattern):
3227         * platform/graphics/GraphicsContext.cpp:
3228         (WebCore::GraphicsContext::drawImageBuffer):
3229         (WebCore::GraphicsContext::clipToImageBuffer):
3230         * platform/graphics/GraphicsContext.h:
3231         * platform/graphics/GraphicsContext3D.h:
3232         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
3233         * platform/graphics/Image.h:
3234         * platform/graphics/ImageBuffer.h:
3235         (WebCore::ImageBuffer::width):
3236         (WebCore::ImageBuffer::height):
3237         * platform/graphics/Pattern.cpp:
3238         (WebCore::Pattern::Pattern):
3239         * platform/graphics/Pattern.h:
3240         (WebCore::Pattern::create):
3241         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3242         * platform/graphics/cairo/ImageBufferCairo.cpp:
3243         (WebCore::ImageBuffer::drawsUsingCopy):
3244         (WebCore::ImageBuffer::copyImage):
3245         (WebCore::ImageBuffer::clip):
3246         (WebCore::ImageBuffer::draw):
3247         (WebCore::ImageBuffer::drawPattern):
3248         * platform/graphics/cg/GraphicsContextCG.cpp:
3249         * platform/graphics/cg/ImageBufferCG.cpp:
3250         (WebCore::ImageBuffer::ImageBuffer):
3251         (WebCore::ImageBuffer::drawsUsingCopy):
3252         (WebCore::ImageBuffer::copyImage):
3253         (WebCore::ImageBuffer::draw):
3254         (WebCore::ImageBuffer::drawPattern):
3255         (WebCore::ImageBuffer::clip):
3256         * platform/graphics/cg/ImageBufferData.h:
3257         * platform/graphics/filters/FEColorMatrix.cpp:
3258         (WebCore::FEColorMatrix::apply):
3259         * platform/graphics/filters/FEComposite.cpp:
3260         (WebCore::FEComposite::apply):
3261         * platform/graphics/filters/SourceAlpha.cpp:
3262         (WebCore::SourceAlpha::apply):
3263         * platform/graphics/filters/SourceGraphic.cpp:
3264         (WebCore::SourceGraphic::apply):
3265         * platform/graphics/mac/GraphicsContext3DMac.mm:
3266         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3267         * platform/graphics/qt/GraphicsContextQt.cpp:
3268         * platform/graphics/qt/ImageBufferData.h:
3269         * platform/graphics/qt/ImageBufferQt.cpp:
3270         (WebCore::ImageBufferData::ImageBufferData):
3271         (WebCore::ImageBuffer::drawsUsingCopy):
3272         (WebCore::ImageBuffer::copyImage):
3273         (WebCore::ImageBuffer::draw):
3274         (WebCore::ImageBuffer::drawPattern):
3275         (WebCore::ImageBuffer::clip):
3276         * platform/graphics/skia/GraphicsContextSkia.cpp:
3277         * platform/graphics/skia/ImageBufferSkia.cpp:
3278         (WebCore::ImageBuffer::drawsUsingCopy):
3279         (WebCore::ImageBuffer::copyImage):
3280         (WebCore::ImageBuffer::clip):
3281         (WebCore::):
3282         * platform/graphics/wx/GraphicsContextWx.cpp:
3283         * platform/graphics/wx/ImageBufferWx.cpp:
3284         (WebCore::ImageBuffer::drawsUsingCopy):
3285         (WebCore::ImageBuffer::copyImage):
3286         (WebCore::ImageBuffer::clip):
3287         (WebCore::ImageBuffer::draw):
3288         (WebCore::ImageBuffer::drawPattern):
3289         * platform/mac/ScrollbarThemeMac.mm:
3290         (WebCore::ScrollbarThemeMac::paint):
3291         * rendering/RenderBoxModelObject.cpp:
3292         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3293         * rendering/RenderSVGResourceClipper.cpp:
3294         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
3295         * rendering/RenderSVGResourceFilter.cpp:
3296         (WebCore::RenderSVGResourceFilter::postApplyResource):
3297         * rendering/RenderSVGResourceGradient.cpp:
3298         (WebCore::clipToTextMask):
3299         * rendering/RenderSVGResourceMasker.cpp:
3300         (WebCore::RenderSVGResourceMasker::applyResource):
3301         * rendering/RenderSVGResourcePattern.cpp:
3302         (WebCore::RenderSVGResourcePattern::buildPattern):
3303         * rendering/RenderThemeMac.mm:
3304         (WebCore::RenderThemeMac::paintProgressBar):
3305         * svg/SVGFEImageElement.cpp:
3306         (WebCore::SVGFEImageElement::build):
3307         * svg/graphics/SVGImage.cpp:
3308         (WebCore::SVGImage::nativeImageForCurrentFrame):
3309         * svg/graphics/SVGImage.h:
3310         * svg/graphics/filters/SVGFEMerge.cpp:
3311         (WebCore::FEMerge::apply):
3312         * svg/graphics/filters/SVGFEOffset.cpp:
3313         (WebCore::FEOffset::apply):
3314         * svg/graphics/filters/SVGFETile.cpp:
3315         (WebCore::FETile::apply):
3316
3317 2010-08-16  Paul Sawaya  <psawaya@apple.com>
3318
3319         Reviewed by Chris Marrin.
3320
3321         Added shader validation via ANGLE
3322         https://bugs.webkit.org/show_bug.cgi?id=42405
3323
3324         Added validation to WebGL via ANGLE
3325
3326         * Configurations/WebCore.xcconfig:
3327         * WebCore.gypi:
3328         * WebCore.xcodeproj/project.pbxproj:
3329         * platform/graphics/ANGLEWebKitBridge.cpp: Added.
3330         (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
3331         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
3332         (WebCore::ANGLEWebKitBridge::validateShaderSource):
3333         * platform/graphics/ANGLEWebKitBridge.h: Added.
3334         (WebCore::):
3335         (WebCore::ANGLEWebKitBridge::setResources):
3336         * platform/graphics/GraphicsContext3D.h:
3337         (WebCore::GraphicsContext3D::):
3338         * platform/graphics/mac/GraphicsContext3DMac.mm:
3339         (WebCore::GraphicsContext3D::GraphicsContext3D):
3340         (WebCore::GraphicsContext3D::compileShader):
3341         (WebCore::GraphicsContext3D::shaderSource):
3342         (WebCore::GraphicsContext3D::getShaderiv):
3343         (WebCore::GraphicsContext3D::getShaderInfoLog):
3344         (WebCore::GraphicsContext3D::getShaderSource):
3345
3346 2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
3347
3348         [wx] Build fix, do not build WebCore as a convenience library as this leads to
3349         errors in the Win build w/export symbols and causes problems with DOM bindings
3350         debugging in gdb.
3351
3352         * wscript: Removed.
3353
3354 2010-08-16  Ilya Tikhonovsky  <loislo@chromium.org>
3355
3356         Reviewed by Adam Roben.
3357
3358         Current implementation of WebCore post-build step on windows platform is error prone.
3359         It would be better to extract the script into external file.
3360         https://bugs.webkit.org/show_bug.cgi?id=44058
3361
3362         * WebCore.vcproj/WebCore.vcproj:
3363         * WebCore.vcproj/copyForwardingHeaders.cmd: Added.
3364         * WebCore.vcproj/copyInspectorFiles.cmd: Added.
3365
3366 2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
3367
3368         [wx] Fix typo in previous build fix.
3369
3370         * platform/graphics/WOFFFileFormat.cpp:
3371
3372 2010-08-16  Alex Milowski  <alex@milowski.com>
3373
3374         Reviewed by David Levin.
3375
3376         Added the configuration of the MathML related files.
3377
3378         * WebCore.gyp/WebCore.gyp:
3379         * WebCore.gypi:
3380
3381 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
3382
3383         Not reviewed: fix Leopard Release inspector tests.
3384
3385         * inspector/front-end/inspector.js:
3386
3387 2010-08-16  Marcus Bulach  <bulach@chromium.org>
3388
3389         Reviewed by Jeremy Orlow.
3390
3391         Implements IDBKeyPath extractor.
3392         https://bugs.webkit.org/show_bug.cgi?id=43276
3393
3394         Unit-test IDBKeyPathExtractorTest.cpp.
3395         LayoutTests will arrive as IndexedDB infrastructure is fleshed out.
3396
3397         * bindings/v8/IDBBindingUtilities.cpp:
3398         (WebCore::getValueFrom):
3399         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
3400         * bindings/v8/IDBBindingUtilities.h:
3401
3402 2010-08-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3403
3404         Reviewed by Kenneth Rohde Christiansen and Martin Robinson.
3405
3406         [GTK] GTK+ drawing idle starved
3407         https://bugs.webkit.org/show_bug.cgi?id=43994
3408
3409         Tune down the priority of the shared timers to guarantee GTK+ has
3410         an opportunity to redraw.
3411
3412         * platform/gtk/SharedTimerGtk.cpp:
3413         (WebCore::setSharedTimerFireTime):
3414
3415 2010-08-16  Leandro Pereira  <leandro@profusion.mobi>
3416
3417         [EFL] Build fix after r65366.
3418
3419         EFL port does not support automated tests yet.
3420
3421         * CMakeLists.txt: Use if (VAR) instead of if (${VAR}) to check if
3422         they're empty.
3423
3424 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
3425
3426         Reviewed by Yury Semikhatsky.
3427
3428         Web Inspector: Make InjectedScript proto-based.
3429         https://bugs.webkit.org/show_bug.cgi?id=44028
3430
3431         * inspector/front-end/InjectedScript.js:
3432         (injectedScriptConstructor):
3433         (injectedScriptConstructor.):
3434
3435 2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
3436
3437         Reviewed by Adam Roben.
3438
3439         Fix warning in WebCore/plugins/win/PluginPackageWin.cpp
3440         https://bugs.webkit.org/show_bug.cgi?id=43920
3441
3442         * plugins/win/PluginPackageWin.cpp:
3443         (WebCore::PluginPackage::fetchInfo):
3444
3445 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
3446
3447         Not reviewed. Touch inspector file to force frontend deployment.
3448
3449         * inspector/InspectorController.cpp:
3450
3451 2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
3452
3453         [wx] Build fix for non-Win ports on Windows.
3454
3455         * platform/graphics/WOFFFileFormat.cpp:
3456
3457 2010-08-16  Adam Langley  <agl@chromium.org>
3458
3459         Reviewed by Tony Chang.
3460
3461         [chromium] Improve spacing support for complex text on Linux
3462
3463         https://bugs.webkit.org/show_bug.cgi?id=39014
3464
3465         Previously, our complex text support ignored word-spacing,
3466         justification and letter-spacing. This fixes the first two issues and
3467         allows us to render Scribd's HTML5 documents much better.
3468
3469         Test: fast/text/atsui-spacing-features.html
3470
3471         * platform/graphics/chromium/FontLinux.cpp:
3472         (WebCore::TextRunWalker::TextRunWalker):
3473         (WebCore::TextRunWalker::setWordSpacingAdjustment):
3474         (WebCore::TextRunWalker::setLetterSpacingAdjustment):
3475         (WebCore::TextRunWalker::setPadding):
3476         (WebCore::TextRunWalker::setGlyphXPositions):
3477         (WebCore::TextRunWalker::isCodepointSpace):
3478         (WebCore::Font::drawComplexText):
3479         (WebCore::Font::floatWidthForComplexText):
3480         (WebCore::Font::offsetForPositionForComplexText):
3481         (WebCore::Font::selectionRectForComplexText):
3482
3483 2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
3484
3485         Reviewed by Kenneth Rohde Christiansen.
3486
3487         Fix warnings: unknown conversion type character 'l' in format
3488         https://bugs.webkit.org/show_bug.cgi?id=43359
3489
3490         * loader/icon/IconDatabase.cpp:
3491         (WebCore::IconDatabase::performURLImport): Replace %zu with %lu, because Windows doesn't understand z modifier.
3492         (WebCore::IconDatabase::pruneUnretainedIcons): Use %I64i intsead of %lli on Windows.
3493         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3494         (WebCore::MediaPlayerPrivate::totalTimeChanged): Use %I64d intsead of %lld on Windows.
3495         * platform/sql/SQLiteDatabase.cpp:
3496         (WebCore::SQLiteDatabase::setMaximumSize): Use %I64i intsead of %lli on Windows.
3497         * storage/DatabaseTracker.cpp:
3498         (WebCore::DatabaseTracker::setQuota): Use %I64u intsead of %llu on Windows.
3499
3500 2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
3501
3502         Reviewed by Kenneth Rohde Christiansen.
3503
3504         Fix warnings: unknown conversion type character 'l' in format
3505         https://bugs.webkit.org/show_bug.cgi?id=43359
3506
3507         * loader/FTPDirectoryParser.cpp: Use %I64u format specifier instead of %llu on Windows.
3508         (WebCore::parseOneFTPLine):
3509
3510 2010-08-16  Ariya Hidayat  <ariya@sencha.com>
3511
3512         Reviewed by Kenneth Rohde Christiansen.
3513
3514         [Qt] Shadow blur for rectangle fill
3515         https://bugs.webkit.org/show_bug.cgi?id=44025
3516
3517         The blur implementation follows the approximation of Gaussian blur
3518         with three successive box blurs, working on the alpha channel only.
3519         (see http://www.w3.org/TR/SVG/filters.html#feGaussianBlur).
3520
3521         * WebCore.pro: Refer to ContexShadow.* files.
3522         * platform/graphics/qt/ContextShadow.cpp: Added.
3523         (WebCore::ContextShadow::ContextShadow):
3524         (WebCore::ContextShadow::clear):
3525         (WebCore::blurHorizontal): Box blurs in horizontal direction, working
3526         on QImage (in-place).
3527         (WebCore::shadowBlur): Main blur function which just calls the
3528         above blurHorizontal function twice, once with transposed image
3529         (equivalent as it would have done vertical box blurs).
3530         (WebCore::ContextShadow::drawShadowRect):
3531         * platform/graphics/qt/ContextShadow.h: Added.
3532         (WebCore::ContextShadow::):
3533         * platform/graphics/qt/GraphicsContextQt.cpp:
3534         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
3535         (WebCore::GraphicsContext::restorePlatformState):
3536         (WebCore::GraphicsContext::fillRect): Use ContextShadow for the shadow.
3537         (WebCore::GraphicsContext::setPlatformShadow):
3538
3539 2010-08-16  Andras Becsi  <abecsi@webkit.org>
3540
3541         Rubber-stamped by Gustavo Noronha Silva.
3542
3543         [GTK] Build fix for MathML code generation.
3544
3545         No new tests needed.
3546
3547         * GNUmakefile.am:
3548
3549 2010-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3550
3551         Unreviewed, rolling out r65414.
3552         http://trac.webkit.org/changeset/65414
3553         https://bugs.webkit.org/show_bug.cgi?id=44055
3554
3555         GTL & QT tests failing. (Requested by pfeldman on #webkit).
3556
3557         * inspector/front-end/InjectedScript.js:
3558         (injectedScriptConstructor):
3559         (injectedScriptConstructor.):
3560
3561 2010-08-16  Ariya Hidayat  <ariya@sencha.com>
3562
3563         Reviewed by Antonio Gomes.
3564
3565         [Qt] Save and restore shadow state in GraphicsContextQt
3566         https://bugs.webkit.org/show_bug.cgi?id=44031
3567
3568         This is needed after r65362.
3569         Use a new class ContextShadowParameter to track and keep the shadow
3570         state. We use this rather than using GraphicsContextState to allow
3571         possible optimizations (right now only to determine the shadow type,
3572         but in future it might cover things like cached scratch image,
3573         persistent shader, etc).
3574
3575         * platform/graphics/qt/GraphicsContextQt.cpp:
3576         (WebCore::ContextShadowParameter::):
3577         (WebCore::ContextShadowParameter::ContextShadowParameter):
3578         (WebCore::ContextShadowParameter::clear):
3579         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
3580         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3581         (WebCore::GraphicsContext::savePlatformState):
3582         (WebCore::GraphicsContext::restorePlatformState):
3583         (WebCore::GraphicsContext::drawRect):
3584         (WebCore::GraphicsContext::drawLine):
3585         (WebCore::GraphicsContext::strokeArc):
3586         (WebCore::GraphicsContext::drawConvexPolygon):
3587         (WebCore::GraphicsContext::fillPath):
3588         (WebCore::GraphicsContext::strokePath):
3589         (WebCore::GraphicsContext::fillRect):
3590         (WebCore::GraphicsContext::fillRoundedRect):
3591         (WebCore::GraphicsContext::setPlatformShadow):
3592         (WebCore::GraphicsContext::clearPlatformShadow):
3593
3594 2010-07-28  Marcus Bulach  <bulach@chromium.org>
3595
3596         Reviewed by Adam Barth.
3597
3598         Implement IDBKeyPath parser.
3599         https://bugs.webkit.org/show_bug.cgi?id=42976
3600
3601         IDBKeyPath is an internal class, exposed only for unit tests for now.
3602         It'll allow indexed database implementation to traverse a given key path and obtain the corresponding properties
3603         from a SerializedScriptValue.
3604
3605         * WebCore.gypi:
3606         * storage/IDBKeyPath.cpp: Added.
3607         (WebCore::IDBKeyPath::create):
3608         (WebCore::IDBKeyPath::IDBKeyPath):
3609         (WebCore::IDBKeyPath::~IDBKeyPath):
3610         (WebCore::IDBKeyPath::hasNext):
3611         (WebCore::IDBKeyPath::next):
3612         (WebCore::IDBKeyPath::identifier):
3613         (WebCore::IDBKeyPath::hasIndex):
3614         (WebCore::IDBKeyPath::indexValue):
3615         (WebCore::IDBKeyPath::parserError):
3616         (WebCore::IDBKeyPath::parse):
3617         (WebCore::IDBKeyPath::Lexer::lex):
3618         (WebCore::isSafeIdentifierStartCharacter):
3619         (WebCore::isSafeIdentifierCharacter):
3620         (WebCore::IDBKeyPath::Lexer::lexIdentifier):
3621         (WebCore::IDBKeyPath::Lexer::lexNumber):
3622         * storage/IDBKeyPath.h: Added.
3623         (WebCore::IDBKeyPath::Token::Token):
3624         (WebCore::IDBKeyPath::):
3625         (WebCore::IDBKeyPath::Lexer::Lexer):
3626         (WebCore::IDBKeyPath::Lexer::next):
3627         (WebCore::IDBKeyPath::Lexer::currentToken):
3628
3629 2010-08-13  Steve Block  <steveblock@google.com>
3630
3631         Reviewed by Alexey Proskuryakov.
3632
3633         Geolocation requests in progress when the frame is disconnected should invoke the error callback
3634         https://bugs.webkit.org/show_bug.cgi?id=43974
3635
3636         If requests are ongoing when the Frame is disconnected, we abort them with a fatal error.
3637         To do this, when Geolocation::disconnectFrame() is called we call cancelAllRequests() to
3638         set a fatal error on all ongoing requests. Once the requests have made their error
3639         callbacks, they are deleted. Note that we check at callback time that the script
3640         execution context for the callback is still valid, so it's safe to attempt these
3641         callbacks even after the Geolocation object's Frame has gone.
3642
3643         This requires a change to allow multiple calls to GeoNotifier::setFatalError().
3644         For repeated calls, we do not replace the existing error. This ensures that when
3645         permission has been denied and the frame is then disconnected, the error callback
3646         reports the permission error, as required by the spec.
3647
3648         Tests: fast/dom/Geolocation/disconnected-frame.html
3649                fast/dom/Geolocation/disconnected-frame-permission-denied.html
3650
3651         * page/Geolocation.cpp:
3652         (WebCore::Geolocation::GeoNotifier::setFatalError):
3653         (WebCore::Geolocation::disconnectFrame):
3654         (WebCore::Geolocation::startRequest):
3655         (WebCore::Geolocation::cancelAllRequests):
3656         * page/Geolocation.h:
3657
3658 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
3659
3660         Reviewed by Joseph Pecoraro.
3661
3662         Web Inspector: upstream frontend-side WebSocket transport.
3663         https://bugs.webkit.org/show_bug.cgi?id=43970
3664
3665         Chromium already has an alternate WebSocket-based communication channel with
3666         the backend. Upstreaming it in this change. We will agree on the URI
3667         of the remote service as the protocol matures.
3668
3669         * inspector/front-end/inspector.js:
3670         (.WebInspector.socket.onmessage):
3671         (.WebInspector.socket.onerror):
3672         (.WebInspector.socket.onopen):
3673         (WebInspector.loaded):
3674         (WebInspector.doLoadedDone):
3675         (WebInspector_syncDispatch):
3676
3677 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
3678
3679         Reviewed by Yury Semikhatsky.
3680
3681         Web Inspector: Make InjectedScript proto-based.
3682         https://bugs.webkit.org/show_bug.cgi?id=44028
3683
3684         * inspector/front-end/InjectedScript.js:
3685         (injectedScriptConstructor):
3686         (injectedScriptConstructor.):
3687         * inspector/front-end/inspector.js:
3688         (WebInspector.loaded):
3689
3690 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
3691
3692         Reviewed by Joseph Pecoraro.
3693
3694         Web Inspector: [REGRESSION] console's clear command does not work.
3695         https://bugs.webkit.org/show_bug.cgi?id=44027
3696
3697         Test: inspector/console-command-clear.html
3698
3699         * inspector/Inspector.idl:
3700         * inspector/InspectorBackend.cpp:
3701         * inspector/InspectorBackend.h:
3702         * inspector/InspectorController.cpp:
3703         (WebCore::InspectorController::clearConsoleMessages):
3704         * inspector/front-end/ConsoleView.js:
3705         (WebInspector.ConsoleView.prototype.requestClearMessages):
3706         * inspector/front-end/inspector.js:
3707         (WebInspector.consoleMessagesCleared):
3708
3709 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
3710
3711         Ugh, the #if ENABLE() was supposed to be added to Settings not GroupSettings.
3712
3713         * page/GroupSettings.cpp:
3714         (WebCore::GroupSettings::GroupSettings):
3715         (WebCore::GroupSettings::setLocalStorageQuotaBytes):
3716         * page/GroupSettings.h:
3717         * page/Settings.cpp:
3718         (WebCore::Settings::Settings):
3719         * page/Settings.h:
3720
3721 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
3722
3723         Last build fix?
3724
3725         * page/PageGroup.cpp:
3726         (WebCore::PageGroup::PageGroup):
3727
3728 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
3729
3730         Ugh...another build fix.
3731
3732         * page/GroupSettings.cpp:
3733         (WebCore::GroupSettings::GroupSettings):
3734         * page/GroupSettings.h:
3735
3736 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
3737
3738         Build fix.
3739
3740         * GNUmakefile.am:
3741
3742 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
3743
3744         Build fix.
3745
3746         * page/PageGroup.cpp:
3747         (WebCore::PageGroup::localStorage):
3748
3749 2010-08-13  Jeremy Orlow  <jorlow@chromium.org>
3750
3751         Some settings are linked to the PageGroup not the Page.  Create a new class for those.
3752         https://bugs.webkit.org/show_bug.cgi?id=43794
3753
3754         Since persistient storage is shared between pages, there's no way to modify
3755         some settings related to it on a per page basis.  As such, it's not technically
3756         correct for these settings to be on the Page's settings.  Create a new class
3757         called GroupSettings, move  group-wide local storage setting there (the other we
3758         can't), and add a new setting for IndexedDB's path (which is prompting this change).
3759
3760         No behavior has changed, so no tests.
3761
3762         * Android.mk:
3763         * CMakeLists.txt:
3764         * GNUmakefile.am:
3765         * WebCore.gypi:
3766         * WebCore.pro:
3767         * WebCore.vcproj/WebCore.vcproj:
3768         * WebCore.xcodeproj/project.pbxproj:
3769         * page/GroupSettings.cpp: Added.
3770         (WebCore::GroupSettings::GroupSettings):
3771         (WebCore::GroupSettings::setLocalStorageQuotaBytes):
3772         (WebCore::GroupSettings::setLocalStorageDatabasePath):
3773         (WebCore::GroupSettings::setIndexedDBDatabasePath):
3774         * page/GroupSettings.h: Added.
3775         (WebCore::GroupSettings::create):
3776         (WebCore::GroupSettings::localStorageQuotaBytes):
3777         (WebCore::GroupSettings::localStorageDatabasePath):
3778         (WebCore::GroupSettings::indexedDBDatabasePath):
3779         * page/PageGroup.cpp:
3780         (WebCore::PageGroup::PageGroup):
3781         (WebCore::PageGroup::localStorage):
3782         * page/PageGroup.h:
3783         (WebCore::PageGroup::groupSettings):
3784         * page/Settings.cpp:
3785         (WebCore::Settings::Settings):
3786         (WebCore::Settings::setSessionStorageQuota):
3787         * page/Settings.h:
3788
3789 2010-08-16  Adam Barth  <abarth@webkit.org>
3790
3791         Reviewed by Alexey Proskuryakov.
3792
3793         HTML5 fragment parsing doesn't load iframes
3794         https://bugs.webkit.org/show_bug.cgi?id=44038
3795
3796         Previously, this code assumed that every source iframe was actually
3797         attached to a render tree.  It tried to "keep the iframe alive" as it
3798         moved documents.  However, if the iframe wasn't attached to begin with,
3799         it was never "alive," so trying to keep a dead iframe alive lead to a
3800         ...  zombie iframe.
3801
3802         Test: fast/frames/adopt-from-created-document.html
3803
3804         * dom/Document.cpp:
3805         (WebCore::Document::adoptNode):
3806
3807 2010-08-13  MORITA Hajime  <morrita@google.com>
3808
3809         Reviewed by Tony Chang.
3810
3811         https://bugs.webkit.org/show_bug.cgi?id=43778
3812         Dropping should fire textInput event
3813
3814         This change:
3815         - added TextEvent::m_isDrop to distinguish drop-initiated events.
3816         - added to dispatch TextEvent from DragController before making a side effect
3817           and cancel the side effect if the event prevents default
3818
3819         Tests: editing/pasteboard/drop-text-events-sideeffect.html
3820                editing/pasteboard/drop-text-events.html
3821
3822         * dom/TextEvent.cpp:
3823         (WebCore::TextEvent::createForDrop): Added.
3824         (WebCore::TextEvent::TextEvent):
3825         * dom/TextEvent.h:
3826         (WebCore::TextEvent::isDrop): Added.
3827         * editing/Editor.cpp:
3828         (WebCore::Editor::handleTextEvent):
3829         (WebCore::Editor::findEventTargetFrom): Extracted from findEventTargetFromSelection().
3830         (WebCore::Editor::findEventTargetFromSelection): 
3831         * editing/Editor.h:
3832         * page/DragController.cpp:
3833         (WebCore::DragController::dispatchTextInputEventFor): Added.
3834         (WebCore::DragController::concludeEditDrag): Added an event dispatch path.
3835         * page/DragController.h:
3836
3837 2010-08-15  Ariya Hidayat  <ariya@sencha.com>
3838
3839         Unreviewed, rolling out r65393.
3840         http://trac.webkit.org/changeset/65393
3841         https://bugs.webkit.org/show_bug.cgi?id=44031
3842
3843         Breaks some canvas tests.
3844
3845         * platform/graphics/qt/GraphicsContextQt.cpp:
3846         (WebCore::GraphicsContextPlatformPrivate::):
3847         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
3848         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3849         (WebCore::GraphicsContext::savePlatformState):
3850         (WebCore::GraphicsContext::restorePlatformState):
3851         (WebCore::GraphicsContext::strokeArc):
3852         (WebCore::GraphicsContext::drawConvexPolygon):
3853         (WebCore::GraphicsContext::fillPath):
3854         (WebCore::GraphicsContext::strokePath):
3855         (WebCore::GraphicsContext::fillRect):
3856         (WebCore::GraphicsContext::fillRoundedRect):
3857         (WebCore::GraphicsContext::setPlatformShadow):
3858         (WebCore::GraphicsContext::clearPlatformShadow):
3859
3860 2010-08-15  Ariya Hidayat  <ariya@sencha.com>
3861
3862         Reviewed by Antonio Gomes.
3863
3864         [Qt] Save and restore shadow state in GraphicsContextQt
3865         https://bugs.webkit.org/show_bug.cgi?id=44031
3866
3867         This is needed after r65362.
3868         Use a new class ContextShadowParameter to track and keep the shadow
3869         state. We use this rather than using GraphicsContextState to allow
3870         possible optimizations (right now only to determine the shadow type,
3871         but in future it might cover things like cached scratch image,
3872         persistent shader, etc).
3873
3874         * platform/graphics/qt/GraphicsContextQt.cpp:
3875         (WebCore::ContextShadowParameter::):
3876         (WebCore::ContextShadowParameter::ContextShadowParameter):
3877         (WebCore::ContextShadowParameter::clear):
3878         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
3879         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3880         (WebCore::GraphicsContext::savePlatformState):
3881         (WebCore::GraphicsContext::restorePlatformState):
3882         (WebCore::GraphicsContext::drawRect):
3883         (WebCore::GraphicsContext::drawLine):
3884         (WebCore::GraphicsContext::strokeArc):
3885         (WebCore::GraphicsContext::drawConvexPolygon):
3886         (WebCore::GraphicsContext::fillPath):
3887         (WebCore::GraphicsContext::strokePath):
3888         (WebCore::GraphicsContext::fillRect):
3889         (WebCore::GraphicsContext::fillRoundedRect):
3890         (WebCore::GraphicsContext::setPlatformShadow):
3891         (WebCore::GraphicsContext::clearPlatformShadow):
3892
3893 2010-08-15  Ariya Hidayat  <ariya@sencha.com>
3894
3895         Reviewed by Antonio Gomes.
3896
3897         [Qt] Border should not cast shadows
3898         https://bugs.webkit.org/show_bug.cgi?id=44015
3899
3900         Shadows should be not casted except for brush fill (which is not what
3901         drawLine and drawRect are supposed to do).
3902
3903         * platform/graphics/qt/GraphicsContextQt.cpp:
3904         (WebCore::GraphicsContext::drawRect): Remove shadow painting,
3905         (WebCore::GraphicsContext::drawLine): ditto.
3906
3907 2010-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
3908
3909         Reviewed by Antonio Gomes.
3910
3911         [EFL] Build error on r65378
3912         https://bugs.webkit.org/show_bug.cgi?id=44019
3913
3914         Change build script for HTMLEntityNames.json instead of HTMLEntityNames.gperf
3915
3916         * CMakeLists.txt:
3917
3918 2010-08-15  Kevin Ollivier  <kevino@theolliviers.com>
3919
3920         [wx] Build fix, add missing header.
3921
3922         * platform/graphics/WOFFFileFormat.cpp:
3923
3924 2010-08-15  Kevin Ollivier  <kevino@theolliviers.com>
3925
3926         [wx] Build fix, don't build PluginDataNone.cpp even on GTK as PluginDataWx.cpp compiles.
3927
3928         * wscript:
3929
3930 2010-08-15  Adam Barth  <abarth@webkit.org>
3931
3932         Reviewed by Eric Seidel.
3933
3934         document.write() doesn't flush plain text
3935         https://bugs.webkit.org/show_bug.cgi?id=8961
3936
3937         Originally I thought we should buffer the character tokens until we've
3938         reached the end of the input stream, but that's not how the spec
3939         handles things (it emits the character tokens one-by-one).
3940
3941         Tests: fast/tokenizer/flush-characters-in-document-write-evil.html
3942                fast/tokenizer/flush-characters-in-document-write.html
3943
3944         * html/HTMLTokenizer.cpp:
3945         (WebCore::HTMLTokenizer::emitEndOfFile):
3946         (WebCore::HTMLTokenizer::nextToken):
3947         (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
3948             - Renamed this function now that it's simplier.
3949         * html/HTMLTokenizer.h:
3950
3951 2010-08-15  Adam Barth  <abarth@webkit.org>
3952
3953         Reviewed by Eric Seidel.
3954
3955         Don't try to replace a non-existent document after executing JavaScript URLs
3956         https://bugs.webkit.org/show_bug.cgi?id=44024
3957
3958         Synchronous JavaScript execution is evil.  Previously, the frame was
3959         deleted after executing the JavaScript URL, so we'd get confused when
3960         we tried to replace its document.
3961
3962         Test: fast/frames/javascript-url-for-deleted-frame.html
3963
3964         * bindings/ScriptControllerBase.cpp:
3965         (WebCore::ScriptController::executeIfJavaScriptURL):
3966
3967 2010-08-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3968
3969         Unreviewed, rolling out r65374.
3970         http://trac.webkit.org/changeset/65374
3971         https://bugs.webkit.org/show_bug.cgi?id=44018
3972
3973         broke a myriad of svg tests (Requested by kling on #webkit).
3974
3975         * platform/graphics/qt/PathQt.cpp:
3976         (WebCore::Path::strokeBoundingRect):
3977
3978 2010-08-14  Eric Seidel  <eric@webkit.org>
3979
3980         Reviewed by Adam Barth.
3981
3982         XSLTProcessor.transformToFragment should not pass contextElement to html/xml document parsers
3983         https://bugs.webkit.org/show_bug.cgi?id=44017
3984
3985         This fixes two tests which otherwise would fail when the
3986         HTML5 TreeBuilder is enabled for fragment parsing.
3987
3988         This revealed a bug in HTMLTreeBuilder() which I fixed as well.
3989
3990         * html/HTMLTreeBuilder.cpp:
3991         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3992         * xml/XSLTProcessor.cpp:
3993         (WebCore::createFragmentFromSource):
3994
3995 2010-08-14  Andreas Kling  <andreas.kling@nokia.com>
3996
3997         Reviewed by Ariya Hidayat.
3998
3999         [Qt] Path: Fast approximation of stroke bounding rects
4000         https://bugs.webkit.org/show_bug.cgi?id=44014
4001
4002         * platform/graphics/qt/PathQt.cpp:
4003         (WebCore::Path::strokeBoundingRect): Use QPainterPath::controlPointRect()
4004         to calculate a slightly larger bounding rect in a fraction of the time.
4005
4006 2010-08-14  Eric Seidel  <eric@webkit.org>
4007
4008         Reviewed by Adam Barth.
4009
4010         Move innerHTML off of Range::createContextualFragment
4011         https://bugs.webkit.org/show_bug.cgi?id=44011
4012
4013         This makes all the editing tests stop failing under the
4014         HTML5 TreeBuilder.
4015
4016         In a previous patch Adam disabled some of the (wrong) code
4017         in createContextualFragment when in html5 treebuilder mode.
4018         The problem is that the editing code depends on
4019         createContextualFragment (as well as the Range DOM API),
4020         so we have to leave this code in until we can figure
4021         out if it's right or wrong behavior for the Range API.
4022
4023         This patch moves innerHTML/outerHTML off of using
4024         createContextualFragment and instead calls
4025         DocumentFragment::parseHTML directly (which is much simpler).
4026
4027         I expect Adam and I will end up turning on the HTML5 TreeBuilder
4028         in the next couple days, and most of the if branches I added
4029         here will go away for good.
4030
4031         I renamed Element::createContextualFragment to
4032         deprecatedCreateContextualFragment, to indicate that it's a
4033         dead API.  The editing code should move off of it and consider
4034         using DocumentFragment::parseHTML instead.
4035
4036         * dom/Element.cpp:
4037         (WebCore::Element::deprecatedCreateContextualFragment):
4038         * dom/Element.h:
4039         * dom/Range.cpp:
4040         (WebCore::Range::createContextualFragment):
4041         * editing/markup.cpp:
4042         (WebCore::createFragmentFromMarkup):
4043         * html/HTMLElement.cpp:
4044         (WebCore::useLegacyTreeBuilder):
4045         (WebCore::HTMLElement::deprecatedCreateContextualFragment):
4046         (WebCore::HTMLElement::setInnerHTML):
4047         (WebCore::HTMLElement::setOuterHTML):
4048         * html/HTMLElement.h:
4049
4050 2010-08-14  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
4051
4052         Reviewed by Antonio Gomes.
4053
4054         [Qt] Fix compilation with QT_NO_LINEEDIT
4055         https://bugs.webkit.org/show_bug.cgi?id=38324
4056
4057         * bridge/qt/qt_runtime.cpp:
4058         (JSC::Bindings::convertValueToQVariant):
4059         (JSC::Bindings::convertQVariantToValue):
4060
4061 2010-08-14  Rob Buis  <rwlbuis@gmail.com>
4062
4063         Reviewed by Dirk Schulze.
4064
4065         IE SVG empty path test fails
4066         https://bugs.webkit.org/show_bug.cgi?id=44008
4067
4068         Change createLine to allow creating zero-length lines. This makes it possible
4069         to have markers and line-caps applied to zero-length lines.
4070
4071         Test: svg/custom/marker-empty-path.svg
4072
4073         * platform/graphics/Path.cpp:
4074         (WebCore::Path::createLine):
4075
4076 2010-08-14  Patrick Gansterer  <paroga@paroga.com>
4077
4078         Reviewed by Kenneth Rohde Christiansen.
4079
4080         [CMake] Move SQL files into a IF (ENABLE_DATABASE) section
4081         https://bugs.webkit.org/show_bug.cgi?id=43979
4082
4083         * CMakeLists.txt:
4084
4085 2010-08-14  Matthew Delaney  <mdelaney@apple.com>
4086
4087         Reviewed by Kenneth Rohde Christiansen.
4088
4089         Canvas is not reset when setting canvas.width
4090         https://bugs.webkit.org/show_bug.cgi?id=43341
4091
4092         * html/HTMLCanvasElement.cpp:
4093         (WebCore::HTMLCanvasElement::reset): Moved the call to
4094         hasCreatedImageBuffer up *before* the call to setSurface since setSurface
4095         sets hasCreatedImageBuffer to false every time.
4096
4097 2010-08-14  Patrick Gansterer  <paroga@paroga.com>
4098
4099         Reviewed by Kenneth Rohde Christiansen.
4100
4101         [CMake] Set target properties only if available
4102         https://bugs.webkit.org/show_bug.cgi?id=43978
4103
4104         * CMakeLists.txt:
4105
4106 2010-08-14  Dirk Schulze  <krit@webkit.org>
4107
4108         Unreviewed sort of Xcode project file.
4109
4110         * WebCore.xcodeproj/project.pbxproj:
4111
4112 2010-08-14  Ariya Hidayat  <ariya@sencha.com>
4113
4114         Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.
4115
4116         [Qt] Refactor shadow state handling in GraphicsContextQt
4117         https://bugs.webkit.org/show_bug.cgi?id=44006
4118
4119         * platform/graphics/qt/GraphicsContextQt.cpp:
4120         (WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
4121         member variables.
4122         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
4123         function to check whether there is shadow or not.
4124         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
4125         (WebCore::GraphicsContext::drawRect): Use shadow states instead of
4126         calling getShadow.
4127         (WebCore::GraphicsContext::drawLine): ditto.
4128         (WebCore::GraphicsContext::strokeArc): ditto.
4129         (WebCore::GraphicsContext::drawConvexPolygon): ditto.
4130         (WebCore::GraphicsContext::fillPath): ditto.
4131         (WebCore::GraphicsContext::strokePath): ditto.
4132         (WebCore::GraphicsContext::fillRect): Removes the use of helper function
4133         drawBorderlessRectShadow as the code already becomes a lot simpler.
4134         (WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
4135         function drawFilledShadowPath as the code already becomes a lot simpler.
4136         (WebCore::GraphicsContext::setPlatformShadow): Store shadow states
4137         and find out the shadow type (complexity) for future use.
4138         (WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.
4139
4140 2010-08-13  Adam Barth  <abarth@webkit.org>
4141
4142         Reviewed by Eric Seidel.
4143
4144         Rename some concepts in HTML entity search to be more self-documenting
4145         https://bugs.webkit.org/show_bug.cgi?id=44004
4146
4147         Start and end are now first and last, which lets us use some better
4148         names for the statics in HTMLEntityTable.
4149
4150         * html/HTMLEntityParser.cpp:
4151         (WebCore::consumeHTMLEntity):
4152         * html/HTMLEntitySearch.cpp:
4153         (WebCore::HTMLEntitySearch::HTMLEntitySearch):
4154         (WebCore::HTMLEntitySearch::findFirst):
4155         (WebCore::HTMLEntitySearch::findLast):
4156         (WebCore::HTMLEntitySearch::advance):
4157         * html/HTMLEntitySearch.h:
4158         (WebCore::HTMLEntitySearch::isEntityPrefix):
4159         (WebCore::HTMLEntitySearch::mostRecentMatch):
4160         (WebCore::HTMLEntitySearch::fail):
4161         * html/HTMLEntityTable.h:
4162
4163 2010-08-13  Adam Barth  <abarth@webkit.org>
4164
4165         Fix ASSERT in XML entity parsing.  You can't advance the entity search
4166         if you've already discovered that your string is not an entity.
4167
4168         * html/HTMLEntityParser.cpp:
4169         (WebCore::decodeNamedEntity):
4170
4171 2010-08-13  Eric Seidel  <eric@webkit.org>
4172
4173         Unreviewed.  Attempt at fixing Chromium build.
4174
4175         Add support for MathML entities
4176         https://bugs.webkit.org/show_bug.cgi?id=43949
4177
4178         * WebCore.gyp/WebCore.gyp:
4179          - I have no clue if this is right or not.
4180
4181 2010-08-13  Eric Seidel  <eric@webkit.org>
4182
4183         Unreviewed.  Attempted build fix for Windows.
4184
4185         Add support for MathML entities
4186         https://bugs.webkit.org/show_bug.cgi?id=43949
4187
4188         * DerivedSources.cpp:
4189          - Add HTMLEntityTable.cpp
4190
4191 2010-08-09  Adam Barth  <abarth@webkit.org>
4192
4193         Reviewed by Eric Seidel.
4194
4195         Add support for MathML entities
4196         https://bugs.webkit.org/show_bug.cgi?id=43949
4197
4198         Implementing the HTML5 entity parsing algorithm require refactoring how
4199         we search for entity names.  Instead of using a perfect hash, we now
4200         use a sorted list.  As we advance through the input, we walk down a
4201         binary search of the table looking for an entity.
4202
4203         Using this data structure lets us keep track of whether the current
4204         string is a prefix of an existing entity, which we need for the
4205         algorithm.  In a future patch, I plan to add some indices to the
4206         table, which should let us narrow down the range of interesting entries
4207         more quickly.
4208
4209         The one nasty piece of the algorithm is if we walk too far down the
4210         input and we need to back up to a previous match.  In this patch, we
4211         accomplish this by rewinding the input and consuming a known number of
4212         characters to resync the source.
4213
4214         * WebCore.xcodeproj/project.pbxproj:
4215         * html/HTMLEntityParser.cpp:
4216         (WebCore::consumeHTMLEntity):
4217         * html/HTMLEntitySearch.cpp: Added.
4218         (WebCore::):
4219         (WebCore::HTMLEntitySearch::HTMLEntitySearch):