2010-08-16 Paul Sawaya <psawaya@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-08-16  Paul Sawaya  <psawaya@apple.com>
2
3         Reviewed by Chris Marrin.
4
5         Added shader validation via ANGLE
6         https://bugs.webkit.org/show_bug.cgi?id=42405
7
8         Added validation to WebGL via ANGLE
9
10         * Configurations/WebCore.xcconfig:
11         * WebCore.gypi:
12         * WebCore.xcodeproj/project.pbxproj:
13         * platform/graphics/ANGLEWebKitBridge.cpp: Added.
14         (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
15         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
16         (WebCore::ANGLEWebKitBridge::validateShaderSource):
17         * platform/graphics/ANGLEWebKitBridge.h: Added.
18         (WebCore::):
19         (WebCore::ANGLEWebKitBridge::setResources):
20         * platform/graphics/GraphicsContext3D.h:
21         (WebCore::GraphicsContext3D::):
22         * platform/graphics/mac/GraphicsContext3DMac.mm:
23         (WebCore::GraphicsContext3D::GraphicsContext3D):
24         (WebCore::GraphicsContext3D::compileShader):
25         (WebCore::GraphicsContext3D::shaderSource):
26         (WebCore::GraphicsContext3D::getShaderiv):
27         (WebCore::GraphicsContext3D::getShaderInfoLog):
28         (WebCore::GraphicsContext3D::getShaderSource):
29
30 2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
31
32         [wx] Build fix, do not build WebCore as a convenience library as this leads to
33         errors in the Win build w/export symbols and causes problems with DOM bindings
34         debugging in gdb.
35
36         * wscript: Removed.
37
38 2010-08-16  Ilya Tikhonovsky  <loislo@chromium.org>
39
40         Reviewed by Adam Roben.
41
42         Current implementation of WebCore post-build step on windows platform is error prone.
43         It would be better to extract the script into external file.
44         https://bugs.webkit.org/show_bug.cgi?id=44058
45
46         * WebCore.vcproj/WebCore.vcproj:
47         * WebCore.vcproj/copyForwardingHeaders.cmd: Added.
48         * WebCore.vcproj/copyInspectorFiles.cmd: Added.
49
50 2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
51
52         [wx] Fix typo in previous build fix.
53
54         * platform/graphics/WOFFFileFormat.cpp:
55
56 2010-08-16  Alex Milowski  <alex@milowski.com>
57
58         Reviewed by David Levin.
59
60         Added the configuration of the MathML related files.
61
62         * WebCore.gyp/WebCore.gyp:
63         * WebCore.gypi:
64
65 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
66
67         Not reviewed: fix Leopard Release inspector tests.
68
69         * inspector/front-end/inspector.js:
70
71 2010-08-16  Marcus Bulach  <bulach@chromium.org>
72
73         Reviewed by Jeremy Orlow.
74
75         Implements IDBKeyPath extractor.
76         https://bugs.webkit.org/show_bug.cgi?id=43276
77
78         Unit-test IDBKeyPathExtractorTest.cpp.
79         LayoutTests will arrive as IndexedDB infrastructure is fleshed out.
80
81         * bindings/v8/IDBBindingUtilities.cpp:
82         (WebCore::getValueFrom):
83         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
84         * bindings/v8/IDBBindingUtilities.h:
85
86 2010-08-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
87
88         Reviewed by Kenneth Rohde Christiansen and Martin Robinson.
89
90         [GTK] GTK+ drawing idle starved
91         https://bugs.webkit.org/show_bug.cgi?id=43994
92
93         Tune down the priority of the shared timers to guarantee GTK+ has
94         an opportunity to redraw.
95
96         * platform/gtk/SharedTimerGtk.cpp:
97         (WebCore::setSharedTimerFireTime):
98
99 2010-08-16  Leandro Pereira  <leandro@profusion.mobi>
100
101         [EFL] Build fix after r65366.
102
103         EFL port does not support automated tests yet.
104
105         * CMakeLists.txt: Use if (VAR) instead of if (${VAR}) to check if
106         they're empty.
107
108 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
109
110         Reviewed by Yury Semikhatsky.
111
112         Web Inspector: Make InjectedScript proto-based.
113         https://bugs.webkit.org/show_bug.cgi?id=44028
114
115         * inspector/front-end/InjectedScript.js:
116         (injectedScriptConstructor):
117         (injectedScriptConstructor.):
118
119 2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
120
121         Reviewed by Adam Roben.
122
123         Fix warning in WebCore/plugins/win/PluginPackageWin.cpp
124         https://bugs.webkit.org/show_bug.cgi?id=43920
125
126         * plugins/win/PluginPackageWin.cpp:
127         (WebCore::PluginPackage::fetchInfo):
128
129 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
130
131         Not reviewed. Touch inspector file to force frontend deployment.
132
133         * inspector/InspectorController.cpp:
134
135 2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
136
137         [wx] Build fix for non-Win ports on Windows.
138
139         * platform/graphics/WOFFFileFormat.cpp:
140
141 2010-08-16  Adam Langley  <agl@chromium.org>
142
143         Reviewed by Tony Chang.
144
145         [chromium] Improve spacing support for complex text on Linux
146
147         https://bugs.webkit.org/show_bug.cgi?id=39014
148
149         Previously, our complex text support ignored word-spacing,
150         justification and letter-spacing. This fixes the first two issues and
151         allows us to render Scribd's HTML5 documents much better.
152
153         Test: fast/text/atsui-spacing-features.html
154
155         * platform/graphics/chromium/FontLinux.cpp:
156         (WebCore::TextRunWalker::TextRunWalker):
157         (WebCore::TextRunWalker::setWordSpacingAdjustment):
158         (WebCore::TextRunWalker::setLetterSpacingAdjustment):
159         (WebCore::TextRunWalker::setPadding):
160         (WebCore::TextRunWalker::setGlyphXPositions):
161         (WebCore::TextRunWalker::isCodepointSpace):
162         (WebCore::Font::drawComplexText):
163         (WebCore::Font::floatWidthForComplexText):
164         (WebCore::Font::offsetForPositionForComplexText):
165         (WebCore::Font::selectionRectForComplexText):
166
167 2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
168
169         Reviewed by Kenneth Rohde Christiansen.
170
171         Fix warnings: unknown conversion type character 'l' in format
172         https://bugs.webkit.org/show_bug.cgi?id=43359
173
174         * loader/icon/IconDatabase.cpp:
175         (WebCore::IconDatabase::performURLImport): Replace %zu with %lu, because Windows doesn't understand z modifier.
176         (WebCore::IconDatabase::pruneUnretainedIcons): Use %I64i intsead of %lli on Windows.
177         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
178         (WebCore::MediaPlayerPrivate::totalTimeChanged): Use %I64d intsead of %lld on Windows.
179         * platform/sql/SQLiteDatabase.cpp:
180         (WebCore::SQLiteDatabase::setMaximumSize): Use %I64i intsead of %lli on Windows.
181         * storage/DatabaseTracker.cpp:
182         (WebCore::DatabaseTracker::setQuota): Use %I64u intsead of %llu on Windows.
183
184 2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
185
186         Reviewed by Kenneth Rohde Christiansen.
187
188         Fix warnings: unknown conversion type character 'l' in format
189         https://bugs.webkit.org/show_bug.cgi?id=43359
190
191         * loader/FTPDirectoryParser.cpp: Use %I64u format specifier instead of %llu on Windows.
192         (WebCore::parseOneFTPLine):
193
194 2010-08-16  Ariya Hidayat  <ariya@sencha.com>
195
196         Reviewed by Kenneth Rohde Christiansen.
197
198         [Qt] Shadow blur for rectangle fill
199         https://bugs.webkit.org/show_bug.cgi?id=44025
200
201         The blur implementation follows the approximation of Gaussian blur
202         with three successive box blurs, working on the alpha channel only.
203         (see http://www.w3.org/TR/SVG/filters.html#feGaussianBlur).
204
205         * WebCore.pro: Refer to ContexShadow.* files.
206         * platform/graphics/qt/ContextShadow.cpp: Added.
207         (WebCore::ContextShadow::ContextShadow):
208         (WebCore::ContextShadow::clear):
209         (WebCore::blurHorizontal): Box blurs in horizontal direction, working
210         on QImage (in-place).
211         (WebCore::shadowBlur): Main blur function which just calls the
212         above blurHorizontal function twice, once with transposed image
213         (equivalent as it would have done vertical box blurs).
214         (WebCore::ContextShadow::drawShadowRect):
215         * platform/graphics/qt/ContextShadow.h: Added.
216         (WebCore::ContextShadow::):
217         * platform/graphics/qt/GraphicsContextQt.cpp:
218         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
219         (WebCore::GraphicsContext::restorePlatformState):
220         (WebCore::GraphicsContext::fillRect): Use ContextShadow for the shadow.
221         (WebCore::GraphicsContext::setPlatformShadow):
222
223 2010-08-16  Andras Becsi  <abecsi@webkit.org>
224
225         Rubber-stamped by Gustavo Noronha Silva.
226
227         [GTK] Build fix for MathML code generation.
228
229         No new tests needed.
230
231         * GNUmakefile.am:
232
233 2010-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>
234
235         Unreviewed, rolling out r65414.
236         http://trac.webkit.org/changeset/65414
237         https://bugs.webkit.org/show_bug.cgi?id=44055
238
239         GTL & QT tests failing. (Requested by pfeldman on #webkit).
240
241         * inspector/front-end/InjectedScript.js:
242         (injectedScriptConstructor):
243         (injectedScriptConstructor.):
244
245 2010-08-16  Ariya Hidayat  <ariya@sencha.com>
246
247         Reviewed by Antonio Gomes.
248
249         [Qt] Save and restore shadow state in GraphicsContextQt
250         https://bugs.webkit.org/show_bug.cgi?id=44031
251
252         This is needed after r65362.
253         Use a new class ContextShadowParameter to track and keep the shadow
254         state. We use this rather than using GraphicsContextState to allow
255         possible optimizations (right now only to determine the shadow type,
256         but in future it might cover things like cached scratch image,
257         persistent shader, etc).
258
259         * platform/graphics/qt/GraphicsContextQt.cpp:
260         (WebCore::ContextShadowParameter::):
261         (WebCore::ContextShadowParameter::ContextShadowParameter):
262         (WebCore::ContextShadowParameter::clear):
263         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
264         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
265         (WebCore::GraphicsContext::savePlatformState):
266         (WebCore::GraphicsContext::restorePlatformState):
267         (WebCore::GraphicsContext::drawRect):
268         (WebCore::GraphicsContext::drawLine):
269         (WebCore::GraphicsContext::strokeArc):
270         (WebCore::GraphicsContext::drawConvexPolygon):
271         (WebCore::GraphicsContext::fillPath):
272         (WebCore::GraphicsContext::strokePath):
273         (WebCore::GraphicsContext::fillRect):
274         (WebCore::GraphicsContext::fillRoundedRect):
275         (WebCore::GraphicsContext::setPlatformShadow):
276         (WebCore::GraphicsContext::clearPlatformShadow):
277
278 2010-07-28  Marcus Bulach  <bulach@chromium.org>
279
280         Reviewed by Adam Barth.
281
282         Implement IDBKeyPath parser.
283         https://bugs.webkit.org/show_bug.cgi?id=42976
284
285         IDBKeyPath is an internal class, exposed only for unit tests for now.
286         It'll allow indexed database implementation to traverse a given key path and obtain the corresponding properties
287         from a SerializedScriptValue.
288
289         * WebCore.gypi:
290         * storage/IDBKeyPath.cpp: Added.
291         (WebCore::IDBKeyPath::create):
292         (WebCore::IDBKeyPath::IDBKeyPath):
293         (WebCore::IDBKeyPath::~IDBKeyPath):
294         (WebCore::IDBKeyPath::hasNext):
295         (WebCore::IDBKeyPath::next):
296         (WebCore::IDBKeyPath::identifier):
297         (WebCore::IDBKeyPath::hasIndex):
298         (WebCore::IDBKeyPath::indexValue):
299         (WebCore::IDBKeyPath::parserError):
300         (WebCore::IDBKeyPath::parse):
301         (WebCore::IDBKeyPath::Lexer::lex):
302         (WebCore::isSafeIdentifierStartCharacter):
303         (WebCore::isSafeIdentifierCharacter):
304         (WebCore::IDBKeyPath::Lexer::lexIdentifier):
305         (WebCore::IDBKeyPath::Lexer::lexNumber):
306         * storage/IDBKeyPath.h: Added.
307         (WebCore::IDBKeyPath::Token::Token):
308         (WebCore::IDBKeyPath::):
309         (WebCore::IDBKeyPath::Lexer::Lexer):
310         (WebCore::IDBKeyPath::Lexer::next):
311         (WebCore::IDBKeyPath::Lexer::currentToken):
312
313 2010-08-13  Steve Block  <steveblock@google.com>
314
315         Reviewed by Alexey Proskuryakov.
316
317         Geolocation requests in progress when the frame is disconnected should invoke the error callback
318         https://bugs.webkit.org/show_bug.cgi?id=43974
319
320         If requests are ongoing when the Frame is disconnected, we abort them with a fatal error.
321         To do this, when Geolocation::disconnectFrame() is called we call cancelAllRequests() to
322         set a fatal error on all ongoing requests. Once the requests have made their error
323         callbacks, they are deleted. Note that we check at callback time that the script
324         execution context for the callback is still valid, so it's safe to attempt these
325         callbacks even after the Geolocation object's Frame has gone.
326
327         This requires a change to allow multiple calls to GeoNotifier::setFatalError().
328         For repeated calls, we do not replace the existing error. This ensures that when
329         permission has been denied and the frame is then disconnected, the error callback
330         reports the permission error, as required by the spec.
331
332         Tests: fast/dom/Geolocation/disconnected-frame.html
333                fast/dom/Geolocation/disconnected-frame-permission-denied.html
334
335         * page/Geolocation.cpp:
336         (WebCore::Geolocation::GeoNotifier::setFatalError):
337         (WebCore::Geolocation::disconnectFrame):
338         (WebCore::Geolocation::startRequest):
339         (WebCore::Geolocation::cancelAllRequests):
340         * page/Geolocation.h:
341
342 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
343
344         Reviewed by Joseph Pecoraro.
345
346         Web Inspector: upstream frontend-side WebSocket transport.
347         https://bugs.webkit.org/show_bug.cgi?id=43970
348
349         Chromium already has an alternate WebSocket-based communication channel with
350         the backend. Upstreaming it in this change. We will agree on the URI
351         of the remote service as the protocol matures.
352
353         * inspector/front-end/inspector.js:
354         (.WebInspector.socket.onmessage):
355         (.WebInspector.socket.onerror):
356         (.WebInspector.socket.onopen):
357         (WebInspector.loaded):
358         (WebInspector.doLoadedDone):
359         (WebInspector_syncDispatch):
360
361 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
362
363         Reviewed by Yury Semikhatsky.
364
365         Web Inspector: Make InjectedScript proto-based.
366         https://bugs.webkit.org/show_bug.cgi?id=44028
367
368         * inspector/front-end/InjectedScript.js:
369         (injectedScriptConstructor):
370         (injectedScriptConstructor.):
371         * inspector/front-end/inspector.js:
372         (WebInspector.loaded):
373
374 2010-08-16  Pavel Feldman  <pfeldman@chromium.org>
375
376         Reviewed by Joseph Pecoraro.
377
378         Web Inspector: [REGRESSION] console's clear command does not work.
379         https://bugs.webkit.org/show_bug.cgi?id=44027
380
381         Test: inspector/console-command-clear.html
382
383         * inspector/Inspector.idl:
384         * inspector/InspectorBackend.cpp:
385         * inspector/InspectorBackend.h:
386         * inspector/InspectorController.cpp:
387         (WebCore::InspectorController::clearConsoleMessages):
388         * inspector/front-end/ConsoleView.js:
389         (WebInspector.ConsoleView.prototype.requestClearMessages):
390         * inspector/front-end/inspector.js:
391         (WebInspector.consoleMessagesCleared):
392
393 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
394
395         Ugh, the #if ENABLE() was supposed to be added to Settings not GroupSettings.
396
397         * page/GroupSettings.cpp:
398         (WebCore::GroupSettings::GroupSettings):
399         (WebCore::GroupSettings::setLocalStorageQuotaBytes):
400         * page/GroupSettings.h:
401         * page/Settings.cpp:
402         (WebCore::Settings::Settings):
403         * page/Settings.h:
404
405 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
406
407         Last build fix?
408
409         * page/PageGroup.cpp:
410         (WebCore::PageGroup::PageGroup):
411
412 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
413
414         Ugh...another build fix.
415
416         * page/GroupSettings.cpp:
417         (WebCore::GroupSettings::GroupSettings):
418         * page/GroupSettings.h:
419
420 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
421
422         Build fix.
423
424         * GNUmakefile.am:
425
426 2010-08-16  Jeremy Orlow  <jorlow@chromium.org>
427
428         Build fix.
429
430         * page/PageGroup.cpp:
431         (WebCore::PageGroup::localStorage):
432
433 2010-08-13  Jeremy Orlow  <jorlow@chromium.org>
434
435         Some settings are linked to the PageGroup not the Page.  Create a new class for those.
436         https://bugs.webkit.org/show_bug.cgi?id=43794
437
438         Since persistient storage is shared between pages, there's no way to modify
439         some settings related to it on a per page basis.  As such, it's not technically
440         correct for these settings to be on the Page's settings.  Create a new class
441         called GroupSettings, move  group-wide local storage setting there (the other we
442         can't), and add a new setting for IndexedDB's path (which is prompting this change).
443
444         No behavior has changed, so no tests.
445
446         * Android.mk:
447         * CMakeLists.txt:
448         * GNUmakefile.am:
449         * WebCore.gypi:
450         * WebCore.pro:
451         * WebCore.vcproj/WebCore.vcproj:
452         * WebCore.xcodeproj/project.pbxproj:
453         * page/GroupSettings.cpp: Added.
454         (WebCore::GroupSettings::GroupSettings):
455         (WebCore::GroupSettings::setLocalStorageQuotaBytes):
456         (WebCore::GroupSettings::setLocalStorageDatabasePath):
457         (WebCore::GroupSettings::setIndexedDBDatabasePath):
458         * page/GroupSettings.h: Added.
459         (WebCore::GroupSettings::create):
460         (WebCore::GroupSettings::localStorageQuotaBytes):
461         (WebCore::GroupSettings::localStorageDatabasePath):
462         (WebCore::GroupSettings::indexedDBDatabasePath):
463         * page/PageGroup.cpp:
464         (WebCore::PageGroup::PageGroup):
465         (WebCore::PageGroup::localStorage):
466         * page/PageGroup.h:
467         (WebCore::PageGroup::groupSettings):
468         * page/Settings.cpp:
469         (WebCore::Settings::Settings):
470         (WebCore::Settings::setSessionStorageQuota):
471         * page/Settings.h:
472
473 2010-08-16  Adam Barth  <abarth@webkit.org>
474
475         Reviewed by Alexey Proskuryakov.
476
477         HTML5 fragment parsing doesn't load iframes
478         https://bugs.webkit.org/show_bug.cgi?id=44038
479
480         Previously, this code assumed that every source iframe was actually
481         attached to a render tree.  It tried to "keep the iframe alive" as it
482         moved documents.  However, if the iframe wasn't attached to begin with,
483         it was never "alive," so trying to keep a dead iframe alive lead to a
484         ...  zombie iframe.
485
486         Test: fast/frames/adopt-from-created-document.html
487
488         * dom/Document.cpp:
489         (WebCore::Document::adoptNode):
490
491 2010-08-13  MORITA Hajime  <morrita@google.com>
492
493         Reviewed by Tony Chang.
494
495         https://bugs.webkit.org/show_bug.cgi?id=43778
496         Dropping should fire textInput event
497
498         This change:
499         - added TextEvent::m_isDrop to distinguish drop-initiated events.
500         - added to dispatch TextEvent from DragController before making a side effect
501           and cancel the side effect if the event prevents default
502
503         Tests: editing/pasteboard/drop-text-events-sideeffect.html
504                editing/pasteboard/drop-text-events.html
505
506         * dom/TextEvent.cpp:
507         (WebCore::TextEvent::createForDrop): Added.
508         (WebCore::TextEvent::TextEvent):
509         * dom/TextEvent.h:
510         (WebCore::TextEvent::isDrop): Added.
511         * editing/Editor.cpp:
512         (WebCore::Editor::handleTextEvent):
513         (WebCore::Editor::findEventTargetFrom): Extracted from findEventTargetFromSelection().
514         (WebCore::Editor::findEventTargetFromSelection): 
515         * editing/Editor.h:
516         * page/DragController.cpp:
517         (WebCore::DragController::dispatchTextInputEventFor): Added.
518         (WebCore::DragController::concludeEditDrag): Added an event dispatch path.
519         * page/DragController.h:
520
521 2010-08-15  Ariya Hidayat  <ariya@sencha.com>
522
523         Unreviewed, rolling out r65393.
524         http://trac.webkit.org/changeset/65393
525         https://bugs.webkit.org/show_bug.cgi?id=44031
526
527         Breaks some canvas tests.
528
529         * platform/graphics/qt/GraphicsContextQt.cpp:
530         (WebCore::GraphicsContextPlatformPrivate::):
531         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
532         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
533         (WebCore::GraphicsContext::savePlatformState):
534         (WebCore::GraphicsContext::restorePlatformState):
535         (WebCore::GraphicsContext::strokeArc):
536         (WebCore::GraphicsContext::drawConvexPolygon):
537         (WebCore::GraphicsContext::fillPath):
538         (WebCore::GraphicsContext::strokePath):
539         (WebCore::GraphicsContext::fillRect):
540         (WebCore::GraphicsContext::fillRoundedRect):
541         (WebCore::GraphicsContext::setPlatformShadow):
542         (WebCore::GraphicsContext::clearPlatformShadow):
543
544 2010-08-15  Ariya Hidayat  <ariya@sencha.com>
545
546         Reviewed by Antonio Gomes.
547
548         [Qt] Save and restore shadow state in GraphicsContextQt
549         https://bugs.webkit.org/show_bug.cgi?id=44031
550
551         This is needed after r65362.
552         Use a new class ContextShadowParameter to track and keep the shadow
553         state. We use this rather than using GraphicsContextState to allow
554         possible optimizations (right now only to determine the shadow type,
555         but in future it might cover things like cached scratch image,
556         persistent shader, etc).
557
558         * platform/graphics/qt/GraphicsContextQt.cpp:
559         (WebCore::ContextShadowParameter::):
560         (WebCore::ContextShadowParameter::ContextShadowParameter):
561         (WebCore::ContextShadowParameter::clear):
562         (WebCore::GraphicsContextPlatformPrivate::hasShadow):
563         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
564         (WebCore::GraphicsContext::savePlatformState):
565         (WebCore::GraphicsContext::restorePlatformState):
566         (WebCore::GraphicsContext::drawRect):
567         (WebCore::GraphicsContext::drawLine):
568         (WebCore::GraphicsContext::strokeArc):
569         (WebCore::GraphicsContext::drawConvexPolygon):
570         (WebCore::GraphicsContext::fillPath):
571         (WebCore::GraphicsContext::strokePath):
572         (WebCore::GraphicsContext::fillRect):
573         (WebCore::GraphicsContext::fillRoundedRect):
574         (WebCore::GraphicsContext::setPlatformShadow):
575         (WebCore::GraphicsContext::clearPlatformShadow):
576
577 2010-08-15  Ariya Hidayat  <ariya@sencha.com>
578
579         Reviewed by Antonio Gomes.
580
581         [Qt] Border should not cast shadows
582         https://bugs.webkit.org/show_bug.cgi?id=44015
583
584         Shadows should be not casted except for brush fill (which is not what
585         drawLine and drawRect are supposed to do).
586
587         * platform/graphics/qt/GraphicsContextQt.cpp:
588         (WebCore::GraphicsContext::drawRect): Remove shadow painting,
589         (WebCore::GraphicsContext::drawLine): ditto.
590
591 2010-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
592
593         Reviewed by Antonio Gomes.
594
595         [EFL] Build error on r65378
596         https://bugs.webkit.org/show_bug.cgi?id=44019
597
598         Change build script for HTMLEntityNames.json instead of HTMLEntityNames.gperf
599
600         * CMakeLists.txt:
601
602 2010-08-15  Kevin Ollivier  <kevino@theolliviers.com>
603
604         [wx] Build fix, add missing header.
605
606         * platform/graphics/WOFFFileFormat.cpp:
607
608 2010-08-15  Kevin Ollivier  <kevino@theolliviers.com>
609
610         [wx] Build fix, don't build PluginDataNone.cpp even on GTK as PluginDataWx.cpp compiles.
611
612         * wscript:
613
614 2010-08-15  Adam Barth  <abarth@webkit.org>
615
616         Reviewed by Eric Seidel.
617
618         document.write() doesn't flush plain text
619         https://bugs.webkit.org/show_bug.cgi?id=8961
620
621         Originally I thought we should buffer the character tokens until we've
622         reached the end of the input stream, but that's not how the spec
623         handles things (it emits the character tokens one-by-one).
624
625         Tests: fast/tokenizer/flush-characters-in-document-write-evil.html
626                fast/tokenizer/flush-characters-in-document-write.html
627
628         * html/HTMLTokenizer.cpp:
629         (WebCore::HTMLTokenizer::emitEndOfFile):
630         (WebCore::HTMLTokenizer::nextToken):
631         (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
632             - Renamed this function now that it's simplier.
633         * html/HTMLTokenizer.h:
634
635 2010-08-15  Adam Barth  <abarth@webkit.org>
636
637         Reviewed by Eric Seidel.
638
639         Don't try to replace a non-existent document after executing JavaScript URLs
640         https://bugs.webkit.org/show_bug.cgi?id=44024
641
642         Synchronous JavaScript execution is evil.  Previously, the frame was
643         deleted after executing the JavaScript URL, so we'd get confused when
644         we tried to replace its document.
645
646         Test: fast/frames/javascript-url-for-deleted-frame.html
647
648         * bindings/ScriptControllerBase.cpp:
649         (WebCore::ScriptController::executeIfJavaScriptURL):
650
651 2010-08-14  Sheriff Bot  <webkit.review.bot@gmail.com>
652
653         Unreviewed, rolling out r65374.
654         http://trac.webkit.org/changeset/65374
655         https://bugs.webkit.org/show_bug.cgi?id=44018
656
657         broke a myriad of svg tests (Requested by kling on #webkit).
658
659         * platform/graphics/qt/PathQt.cpp:
660         (WebCore::Path::strokeBoundingRect):
661
662 2010-08-14  Eric Seidel  <eric@webkit.org>
663
664         Reviewed by Adam Barth.
665
666         XSLTProcessor.transformToFragment should not pass contextElement to html/xml document parsers
667         https://bugs.webkit.org/show_bug.cgi?id=44017
668
669         This fixes two tests which otherwise would fail when the
670         HTML5 TreeBuilder is enabled for fragment parsing.
671
672         This revealed a bug in HTMLTreeBuilder() which I fixed as well.
673
674         * html/HTMLTreeBuilder.cpp:
675         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
676         * xml/XSLTProcessor.cpp:
677         (WebCore::createFragmentFromSource):
678
679 2010-08-14  Andreas Kling  <andreas.kling@nokia.com>
680
681         Reviewed by Ariya Hidayat.
682
683         [Qt] Path: Fast approximation of stroke bounding rects
684         https://bugs.webkit.org/show_bug.cgi?id=44014
685
686         * platform/graphics/qt/PathQt.cpp:
687         (WebCore::Path::strokeBoundingRect): Use QPainterPath::controlPointRect()
688         to calculate a slightly larger bounding rect in a fraction of the time.
689
690 2010-08-14  Eric Seidel  <eric@webkit.org>
691
692         Reviewed by Adam Barth.
693
694         Move innerHTML off of Range::createContextualFragment
695         https://bugs.webkit.org/show_bug.cgi?id=44011
696
697         This makes all the editing tests stop failing under the
698         HTML5 TreeBuilder.
699
700         In a previous patch Adam disabled some of the (wrong) code
701         in createContextualFragment when in html5 treebuilder mode.
702         The problem is that the editing code depends on
703         createContextualFragment (as well as the Range DOM API),
704         so we have to leave this code in until we can figure
705         out if it's right or wrong behavior for the Range API.
706
707         This patch moves innerHTML/outerHTML off of using
708         createContextualFragment and instead calls
709         DocumentFragment::parseHTML directly (which is much simpler).
710
711         I expect Adam and I will end up turning on the HTML5 TreeBuilder
712         in the next couple days, and most of the if branches I added
713         here will go away for good.
714
715         I renamed Element::createContextualFragment to
716         deprecatedCreateContextualFragment, to indicate that it's a
717         dead API.  The editing code should move off of it and consider
718         using DocumentFragment::parseHTML instead.
719
720         * dom/Element.cpp:
721         (WebCore::Element::deprecatedCreateContextualFragment):
722         * dom/Element.h:
723         * dom/Range.cpp:
724         (WebCore::Range::createContextualFragment):
725         * editing/markup.cpp:
726         (WebCore::createFragmentFromMarkup):
727         * html/HTMLElement.cpp:
728         (WebCore::useLegacyTreeBuilder):
729         (WebCore::HTMLElement::deprecatedCreateContextualFragment):
730         (WebCore::HTMLElement::setInnerHTML):
731         (WebCore::HTMLElement::setOuterHTML):
732         * html/HTMLElement.h:
733
734 2010-08-14  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
735
736         Reviewed by Antonio Gomes.
737
738         [Qt] Fix compilation with QT_NO_LINEEDIT
739         https://bugs.webkit.org/show_bug.cgi?id=38324
740
741         * bridge/qt/qt_runtime.cpp:
742         (JSC::Bindings::convertValueToQVariant):
743         (JSC::Bindings::convertQVariantToValue):
744
745 2010-08-14  Rob Buis  <rwlbuis@gmail.com>
746
747         Reviewed by Dirk Schulze.
748
749         IE SVG empty path test fails
750         https://bugs.webkit.org/show_bug.cgi?id=44008
751
752         Change createLine to allow creating zero-length lines. This makes it possible
753         to have markers and line-caps applied to zero-length lines.
754
755         Test: svg/custom/marker-empty-path.svg
756
757         * platform/graphics/Path.cpp:
758         (WebCore::Path::createLine):
759
760 2010-08-14  Patrick Gansterer  <paroga@paroga.com>
761
762         Reviewed by Kenneth Rohde Christiansen.
763
764         [CMake] Move SQL files into a IF (ENABLE_DATABASE) section
765         https://bugs.webkit.org/show_bug.cgi?id=43979
766
767         * CMakeLists.txt:
768
769 2010-08-14  Matthew Delaney  <mdelaney@apple.com>
770
771         Reviewed by Kenneth Rohde Christiansen.
772
773         Canvas is not reset when setting canvas.width
774         https://bugs.webkit.org/show_bug.cgi?id=43341
775
776         * html/HTMLCanvasElement.cpp:
777         (WebCore::HTMLCanvasElement::reset): Moved the call to
778         hasCreatedImageBuffer up *before* the call to setSurface since setSurface
779         sets hasCreatedImageBuffer to false every time.
780
781 2010-08-14  Patrick Gansterer  <paroga@paroga.com>
782
783         Reviewed by Kenneth Rohde Christiansen.
784
785         [CMake] Set target properties only if available
786         https://bugs.webkit.org/show_bug.cgi?id=43978
787
788         * CMakeLists.txt:
789
790 2010-08-14  Dirk Schulze  <krit@webkit.org>
791
792         Unreviewed sort of Xcode project file.
793
794         * WebCore.xcodeproj/project.pbxproj:
795
796 2010-08-14  Ariya Hidayat  <ariya@sencha.com>
797
798         Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.
799
800         [Qt] Refactor shadow state handling in GraphicsContextQt
801         https://bugs.webkit.org/show_bug.cgi?id=44006
802
803         * platform/graphics/qt/GraphicsContextQt.cpp:
804         (WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
805         member variables.
806         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
807         function to check whether there is shadow or not.
808         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
809         (WebCore::GraphicsContext::drawRect): Use shadow states instead of
810         calling getShadow.
811         (WebCore::GraphicsContext::drawLine): ditto.
812         (WebCore::GraphicsContext::strokeArc): ditto.
813         (WebCore::GraphicsContext::drawConvexPolygon): ditto.
814         (WebCore::GraphicsContext::fillPath): ditto.
815         (WebCore::GraphicsContext::strokePath): ditto.
816         (WebCore::GraphicsContext::fillRect): Removes the use of helper function
817         drawBorderlessRectShadow as the code already becomes a lot simpler.
818         (WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
819         function drawFilledShadowPath as the code already becomes a lot simpler.
820         (WebCore::GraphicsContext::setPlatformShadow): Store shadow states
821         and find out the shadow type (complexity) for future use.
822         (WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.
823
824 2010-08-13  Adam Barth  <abarth@webkit.org>
825
826         Reviewed by Eric Seidel.
827
828         Rename some concepts in HTML entity search to be more self-documenting
829         https://bugs.webkit.org/show_bug.cgi?id=44004
830
831         Start and end are now first and last, which lets us use some better
832         names for the statics in HTMLEntityTable.
833
834         * html/HTMLEntityParser.cpp:
835         (WebCore::consumeHTMLEntity):
836         * html/HTMLEntitySearch.cpp:
837         (WebCore::HTMLEntitySearch::HTMLEntitySearch):
838         (WebCore::HTMLEntitySearch::findFirst):
839         (WebCore::HTMLEntitySearch::findLast):
840         (WebCore::HTMLEntitySearch::advance):
841         * html/HTMLEntitySearch.h:
842         (WebCore::HTMLEntitySearch::isEntityPrefix):
843         (WebCore::HTMLEntitySearch::mostRecentMatch):
844         (WebCore::HTMLEntitySearch::fail):
845         * html/HTMLEntityTable.h:
846
847 2010-08-13  Adam Barth  <abarth@webkit.org>
848
849         Fix ASSERT in XML entity parsing.  You can't advance the entity search
850         if you've already discovered that your string is not an entity.
851
852         * html/HTMLEntityParser.cpp:
853         (WebCore::decodeNamedEntity):
854
855 2010-08-13  Eric Seidel  <eric@webkit.org>
856
857         Unreviewed.  Attempt at fixing Chromium build.
858
859         Add support for MathML entities
860         https://bugs.webkit.org/show_bug.cgi?id=43949
861
862         * WebCore.gyp/WebCore.gyp:
863          - I have no clue if this is right or not.
864
865 2010-08-13  Eric Seidel  <eric@webkit.org>
866
867         Unreviewed.  Attempted build fix for Windows.
868
869         Add support for MathML entities
870         https://bugs.webkit.org/show_bug.cgi?id=43949
871
872         * DerivedSources.cpp:
873          - Add HTMLEntityTable.cpp
874
875 2010-08-09  Adam Barth  <abarth@webkit.org>
876
877         Reviewed by Eric Seidel.
878
879         Add support for MathML entities
880         https://bugs.webkit.org/show_bug.cgi?id=43949
881
882         Implementing the HTML5 entity parsing algorithm require refactoring how
883         we search for entity names.  Instead of using a perfect hash, we now
884         use a sorted list.  As we advance through the input, we walk down a
885         binary search of the table looking for an entity.
886
887         Using this data structure lets us keep track of whether the current
888         string is a prefix of an existing entity, which we need for the
889         algorithm.  In a future patch, I plan to add some indices to the
890         table, which should let us narrow down the range of interesting entries
891         more quickly.
892
893         The one nasty piece of the algorithm is if we walk too far down the
894         input and we need to back up to a previous match.  In this patch, we
895         accomplish this by rewinding the input and consuming a known number of
896         characters to resync the source.
897
898         * WebCore.xcodeproj/project.pbxproj:
899         * html/HTMLEntityParser.cpp:
900         (WebCore::consumeHTMLEntity):
901         * html/HTMLEntitySearch.cpp: Added.
902         (WebCore::):
903         (WebCore::HTMLEntitySearch::HTMLEntitySearch):
904         (WebCore::HTMLEntitySearch::compare):
905         (WebCore::HTMLEntitySearch::findStart):
906         (WebCore::HTMLEntitySearch::findEnd):
907         (WebCore::HTMLEntitySearch::advance):
908         * html/HTMLEntitySearch.h: Added.
909         (WebCore::HTMLEntitySearch::isEntityPrefix):
910         (WebCore::HTMLEntitySearch::currentValue):
911         (WebCore::HTMLEntitySearch::lastMatch):
912         (WebCore::HTMLEntitySearch::):
913         (WebCore::HTMLEntitySearch::fail):
914         * html/HTMLEntityTable.h: Added.
915         (WebCore::HTMLEntityTableEntry::lastCharacter):
916
917 2010-08-13  Tony Gentilcore  <tonyg@chromium.org>
918
919         Reviewed by Eric Seidel.
920
921         Refactor HTMLScriptRunner to allow deferred scripts to share code
922         https://bugs.webkit.org/show_bug.cgi?id=43736
923
924         No new tests because no functional change
925
926         * html/HTMLScriptRunner.cpp:
927         (WebCore::HTMLScriptRunner::sourceFromPendingScript): Make const to enforce the idea that it doesn't change m_parsingBlockingScript.
928         (WebCore::HTMLScriptRunner::executeParsingBlockingScript): Rename to make it clear this deals with the parsing blocking script and refactor to use executePendingScriptAndDispatchEvent.
929         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Factored out of executePendingScript, this can be used for executing any external script.
930         (WebCore::HTMLScriptRunner::executeScript): This can be used for executing any inline or external script. ASSERTs moved to the two calling points.
931         (WebCore::HTMLScriptRunner::executeParsingBlockingScripts): Moved method.
932         (WebCore::HTMLScriptRunner::requestParsingBlockingScript): Factored out requestPendingScript.
933         (WebCore::HTMLScriptRunner::requestPendingScript): Factored out from reqeustParsingBlockingScript.
934         (WebCore::HTMLScriptRunner::runScript):
935         * html/HTMLScriptRunner.h:
936
937 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
938
939         Windows build fix.
940
941         * WebCore.xcodeproj/project.pbxproj:
942         * platform/win/SharedBufferWin.cpp:
943
944 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
945
946         Rubber stamped by Sam Weinig.
947         Switch String::/UString::ascii() to return a CString.
948
949         * WebCore.xcodeproj/project.pbxproj:
950         * bridge/c/c_class.cpp:
951         (JSC::Bindings::CClass::methodsNamed):
952         (JSC::Bindings::CClass::fieldNamed):
953         * bridge/jni/jsc/JNIBridgeJSC.cpp:
954         (JavaField::valueFromInstance):
955         (JavaField::setValueToInstance):
956         * bridge/jni/jsc/JavaInstanceJSC.cpp:
957         (JavaInstance::invokeMethod):
958         * bridge/objc/objc_class.mm:
959         (JSC::Bindings::ObjcClass::methodsNamed):
960         (JSC::Bindings::ObjcClass::fieldNamed):
961         * bridge/objc/objc_instance.mm:
962         (ObjcInstance::setValueOfUndefinedField):
963         (ObjcInstance::getValueOfUndefinedField):
964         * loader/icon/IconRecord.cpp:
965         * platform/sql/SQLiteDatabase.cpp:
966         * platform/sql/SQLiteStatement.cpp:
967         * storage/SQLStatement.cpp:
968
969 2010-08-13  Mihai Parparita  <mihaip@chromium.org>
970
971         Reviewed by Dimitri Glazkov.
972
973         Session history should skip over JS redirects
974         https://bugs.webkit.org/show_bug.cgi?id=42861
975         
976         Lock the back/forward list for location changes and form submits that
977         happen before the onload event fires that are not the result of user
978         gestures.
979         
980         Made form submission (at the ScheduledFormSubmission level) more similar
981         to ScheduledURLNavigation by having it call clientRedirected too, fixing
982         a long-standing FIXME.
983
984         Test: fast/history/gesture-before-onload-location-href.html,
985         fast/history/gesture-before-onload-form-submit.html and updated
986         expectations for http/tests/history tests that used to fail.
987
988         * loader/FormSubmission.cpp:
989         (WebCore::FormSubmission::requestURL): 
990         (WebCore::FormSubmission::populateFrameLoadRequest):
991         * loader/FormSubmission.h:
992         * loader/RedirectScheduler.cpp:
993         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
994         (WebCore::ScheduledFormSubmission::fire):
995         (WebCore::ScheduledFormSubmission::didStartTimer):
996         (WebCore::ScheduledFormSubmission::didStopTimer):
997         (WebCore::RedirectScheduler::scheduleRedirect):
998         (WebCore::RedirectScheduler::mustLockBackForwardList):
999         (WebCore::RedirectScheduler::scheduleLocationChange):
1000         (WebCore::RedirectScheduler::scheduleFormSubmission):
1001         * loader/RedirectScheduler.h:
1002
1003 2010-08-13  Leandro Pereira  <leandro@profusion.mobi>
1004
1005         [EFL] Unreviewed build fix.
1006         These changes were supposed to be landed on r65319, but due to some
1007         svn-apply/commit-queue bug it wasn't fully applied. A bug was filed
1008         by Patrick Gansterer (author of the changes in this commit):
1009         https://bugs.webkit.org/show_bug.cgi?id=43981
1010
1011         * CMakeLists.txt: Update calls to GENERATE_GPERF and
1012         GENERATE_GRAMMAR macros.
1013
1014 2010-08-13  Chris Fleizach  <cfleizach@apple.com>
1015
1016         AX: isNativeCheckbox does not work as advertised
1017         https://bugs.webkit.org/show_bug.cgi?id=43872
1018
1019         Re-adding this patch after it was erroneously rolled out.
1020
1021         Test: platform/mac/accessibility/native-vs-nonnative-checkboxes.html
1022
1023         * accessibility/AccessibilityRenderObject.cpp:
1024         (WebCore::AccessibilityRenderObject::isInputImage):
1025         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
1026         * dom/InputElement.h:
1027         * html/HTMLInputElement.h:
1028         (WebCore::HTMLInputElement::isCheckbox):
1029
1030 2010-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1031
1032         Unreviewed, rolling out r65331.
1033         http://trac.webkit.org/changeset/65331
1034         https://bugs.webkit.org/show_bug.cgi?id=43980
1035
1036         This patch breaks some shadow tests on Qt Linux release
1037         (Requested by ariya on #webkit).
1038
1039         * platform/graphics/qt/GraphicsContextQt.cpp:
1040         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1041         (WebCore::GraphicsContext::drawRect):
1042         (WebCore::GraphicsContext::drawLine):
1043         (WebCore::GraphicsContext::strokeArc):
1044         (WebCore::GraphicsContext::drawConvexPolygon):
1045         (WebCore::drawFilledShadowPath):
1046         (WebCore::GraphicsContext::fillPath):
1047         (WebCore::GraphicsContext::strokePath):
1048         (WebCore::drawBorderlessRectShadow):
1049         (WebCore::GraphicsContext::fillRect):
1050         (WebCore::GraphicsContext::fillRoundedRect):
1051         (WebCore::GraphicsContext::setPlatformShadow):
1052         (WebCore::GraphicsContext::clearPlatformShadow):
1053
1054 2010-08-13  Kinuko Yasuda  <kinuko@chromium.org>
1055
1056         Reviewed by David Levin.
1057
1058         Update run-bindings-tests expectations
1059         https://bugs.webkit.org/show_bug.cgi?id=43944
1060
1061         The results have become out of sync after changeset 64552 and 65269.
1062
1063         Test: WebKitTools/Scripts/run-bindings-tests
1064
1065         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1066         (webkit_dom_test_callback_callback_with_class1param):
1067         (webkit_dom_test_callback_callback_with_class2param):
1068         (webkit_dom_test_callback_callback_with_non_bool_return_type):
1069         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1070         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1071         (webkit_dom_test_obj_void_method_with_args):
1072         (webkit_dom_test_obj_int_method_with_args):
1073         (webkit_dom_test_obj_obj_method):
1074         (webkit_dom_test_obj_obj_method_with_args):
1075         (webkit_dom_test_obj_method_that_requires_all_args):
1076         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
1077         (webkit_dom_test_obj_serialized_value):
1078         (webkit_dom_test_obj_idb_key):
1079         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
1080         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
1081         (webkit_dom_test_obj_with_script_state_obj):
1082         (webkit_dom_test_obj_with_script_state_obj_exception):
1083         (webkit_dom_test_obj_get_read_only_string_attr):
1084         (webkit_dom_test_obj_get_read_only_test_obj_attr):
1085         (webkit_dom_test_obj_get_string_attr):
1086         (webkit_dom_test_obj_set_string_attr):
1087         (webkit_dom_test_obj_get_test_obj_attr):
1088         (webkit_dom_test_obj_set_test_obj_attr):
1089         (webkit_dom_test_obj_get_xml_obj_attr):
1090         (webkit_dom_test_obj_set_xml_obj_attr):
1091         (webkit_dom_test_obj_get_reflected_string_attr):
1092         (webkit_dom_test_obj_set_reflected_string_attr):
1093         (webkit_dom_test_obj_get_reflected_url_attr):
1094         (webkit_dom_test_obj_set_reflected_url_attr):
1095         (webkit_dom_test_obj_get_reflected_non_empty_url_attr):
1096         (webkit_dom_test_obj_set_reflected_non_empty_url_attr):
1097         (webkit_dom_test_obj_get_reflected_custom_url_attr):
1098         (webkit_dom_test_obj_set_reflected_custom_url_attr):
1099         (webkit_dom_test_obj_get_reflected_custom_non_empty_url_attr):
1100         (webkit_dom_test_obj_set_reflected_custom_non_empty_url_attr):
1101         (webkit_dom_test_obj_get_string_attr_with_getter_exception):
1102         (webkit_dom_test_obj_set_string_attr_with_getter_exception):
1103         (webkit_dom_test_obj_get_string_attr_with_setter_exception):
1104         (webkit_dom_test_obj_set_string_attr_with_setter_exception):
1105         (webkit_dom_test_obj_get_script_string_attr):
1106         (webkit_dom_test_obj_get_hash):
1107         (webkit_dom_test_obj_class_init):
1108         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1109         * bindings/scripts/test/JS/JSTestObj.cpp:
1110         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
1111
1112 2010-08-13  Ariya Hidayat  <ariya@sencha.com>
1113
1114         Reviewed by Simon Hausmann.
1115
1116         [Qt] Canvas and CSS: blur option in shadow not working
1117         https://bugs.webkit.org/show_bug.cgi?id=34479
1118
1119         Patch 1: Refactor shadow states handling.
1120
1121         * platform/graphics/qt/GraphicsContextQt.cpp:
1122         (WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
1123         member variables.
1124         (WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
1125         function to check whether there is shadow or not.
1126         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1127         (WebCore::GraphicsContext::drawRect): Use shadow states instead of
1128         calling getShadow.
1129         (WebCore::GraphicsContext::drawLine): ditto.
1130         (WebCore::GraphicsContext::strokeArc): ditto.
1131         (WebCore::GraphicsContext::drawConvexPolygon): ditto.
1132         (WebCore::GraphicsContext::fillPath): ditto.
1133         (WebCore::GraphicsContext::strokePath): ditto.
1134         (WebCore::GraphicsContext::fillRect): Removes the use of helper function
1135         drawBorderlessRectShadow as the code already becomes a lot simpler.
1136         (WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
1137         function drawFilledShadowPath as the code already becomes a lot simpler.
1138         (WebCore::GraphicsContext::setPlatformShadow): Store shadow states
1139         and find out the shadow type (complexity) for future use.
1140         (WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.
1141
1142 2010-08-11  Zhenyao Mo  <zmo@google.com>
1143
1144         Reviewed by Dimitri Glazkov.
1145
1146         Regression in linking of programs
1147         https://bugs.webkit.org/show_bug.cgi?id=43820
1148
1149         Shaders and programs shouldn't be deleted until their attachments are removed, therefore, we need to track the attach/detach/useProgram.
1150
1151         * html/canvas/WebGLObject.cpp: Track the object attachment count and whether it should really be deleted.
1152         (WebCore::WebGLObject::WebGLObject):
1153         (WebCore::WebGLObject::setObject):
1154         (WebCore::WebGLObject::deleteObject):
1155         * html/canvas/WebGLObject.h: Track the object attachment count and whether it should really be deleted.
1156         (WebCore::WebGLObject::onAttached):
1157         (WebCore::WebGLObject::onDetached):
1158         (WebCore::WebGLObject::getAttachmentCount):
1159         * html/canvas/WebGLProgram.cpp: Track the attached shaders.
1160         (WebCore::WebGLProgram::WebGLProgram):
1161         (WebCore::WebGLProgram::deleteObjectImpl):
1162         (WebCore::WebGLProgram::getAttachedShader):
1163         (WebCore::WebGLProgram::attachShader):
1164         (WebCore::WebGLProgram::detachShader):
1165         * html/canvas/WebGLProgram.h: Track the attached shaders.
1166         * html/canvas/WebGLRenderingContext.cpp:
1167         (WebCore::WebGLRenderingContext::attachShader): Track the attachment of a shader to a program.
1168         (WebCore::WebGLRenderingContext::deleteProgram): Detach shaders.
1169         (WebCore::WebGLRenderingContext::detachShader): Track the attachment of a shader to a program.
1170         (WebCore::WebGLRenderingContext::validateWebGLObject): Also check if object == 0.
1171         (WebCore::WebGLRenderingContext::linkProgram): Using the cached attached shaders instead of query from driver.
1172         (WebCore::WebGLRenderingContext::useProgram): Track the attachment of a program to the current rendering pipeline.
1173
1174 2010-08-13  Steve Block  <steveblock@google.com>
1175
1176         Reviewed by Alexey Proskuryakov.
1177
1178         Geolocation activity started after frame has been disconnected can cause crash
1179         https://bugs.webkit.org/show_bug.cgi?id=39879
1180
1181         New requests started after the Frame has been disconnected are ignored. We do
1182         not invoke the error callback as this would allow buggy or malicious pages to
1183         hose the CPU. Such a page could hold a reference to a Geolocation object from
1184         a since closed Page and register new requests from the error callback to
1185         create an infinite loop.
1186
1187         Tests: fast/dom/Geolocation/disconnected-frame-already.html
1188
1189         * page/Geolocation.cpp:
1190
1191 2010-08-13  Satish Sampath  <satish@chromium.org>
1192
1193         Reviewed by Jeremy Orlow.
1194
1195         Support for multiple speech enabled elements in same page.
1196         https://bugs.webkit.org/show_bug.cgi?id=43922
1197
1198         * page/SpeechInput.cpp: Generates request ids as necessary when each speech enabled input element gets
1199         created/destroyed and multiplexes the listener callbacks to the appropriate input element based on the request id.
1200         (WebCore::SpeechInput::SpeechInput):
1201         (WebCore::SpeechInput::~SpeechInput):
1202         (WebCore::SpeechInput::registerListener):
1203         (WebCore::SpeechInput::unregisterListener):
1204         (WebCore::SpeechInput::didCompleteRecording):
1205         (WebCore::SpeechInput::didCompleteRecognition):
1206         (WebCore::SpeechInput::setRecognitionResult):
1207         (WebCore::SpeechInput::startRecognition):
1208         (WebCore::SpeechInput::stopRecording):
1209         (WebCore::SpeechInput::cancelRecognition):
1210         * page/SpeechInput.h:
1211         * page/SpeechInputClient.h: Now requires a one time set for the WebCore::SpeechInputListener and
1212         takes in a 'requestId' for all calls.
1213         * page/SpeechInputListener.h: Now returns the above mentioned requestId in all the listener callbacks for
1214         identifying which input element the event goes to.
1215         * platform/mock/SpeechInputClientMock.cpp:
1216         (WebCore::SpeechInputClientMock::SpeechInputClientMock):
1217         (WebCore::SpeechInputClientMock::setListener):
1218         (WebCore::SpeechInputClientMock::startRecognition):
1219         (WebCore::SpeechInputClientMock::stopRecording):
1220         (WebCore::SpeechInputClientMock::cancelRecognition):
1221         (WebCore::SpeechInputClientMock::timerFired):
1222         * platform/mock/SpeechInputClientMock.h:
1223         * rendering/TextControlInnerElements.cpp:
1224         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
1225         (WebCore::InputFieldSpeechButtonElement::~InputFieldSpeechButtonElement):
1226         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
1227         (WebCore::InputFieldSpeechButtonElement::speechInput):
1228         (WebCore::InputFieldSpeechButtonElement::didCompleteRecording):
1229         (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
1230         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
1231         * rendering/TextControlInnerElements.h:
1232
1233 2010-08-13  Eric Carlson  <eric.carlson@apple.com>
1234
1235         Reviewed by David Kilzer.
1236
1237         HTMLMediaElement::prepareForLoad should cancel current plug-in proxy media player
1238         https://bugs.webkit.org/show_bug.cgi?id=43923
1239
1240         * html/HTMLMediaElement.cpp:
1241         (WebCore::HTMLMediaElement::prepareForLoad): Tell mediaPlayer to cancel the current load
1242         if it already exists.
1243
1244 2010-08-12  Stephen White  <senorblanco@chromium.org>
1245
1246         Reviewed by David Levin.
1247
1248         [CHROMIUM] Use the BGRA format for canvas 2D accel upload and readbacks.
1249         https://bugs.webkit.org/show_bug.cgi?id=43804
1250
1251         Use the BGRA format from GraphicsContext3D, if supported.  Also keep a
1252         texture around for uploads, rather than re-creating it each time.
1253
1254         Covered by many layout tests (once we're running them).
1255
1256         * platform/graphics/chromium/GLES2Texture.cpp:
1257         (WebCore::convertFormat):
1258         Move convertFormat() ahead of texture creation, so we can check for
1259         BGRA support.
1260         (WebCore::GLES2Texture::create):
1261         Use convertFormat() to determine the correct format and types to use;
1262         use the returned format also for internalFormat, since GLES2 insists
1263         they match.
1264         * platform/graphics/skia/PlatformContextSkia.cpp:
1265         (WebCore::PlatformContextSkia::setGraphicsContext3D):
1266         Clear the upload texture when a new context is set.
1267         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
1268         Use m_uploadTexture instead of creating a new one each time.
1269         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
1270         When the context supports it, use the BGRA format for readbacks
1271         instead of swizzling.
1272         * platform/graphics/skia/PlatformContextSkia.h:
1273         Add m_uploadTexture for consecutive uploads.
1274
1275 2010-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
1276
1277         Reviewed by Ariya Hidayat.
1278
1279         [Qt] Clean up mobile feature useage
1280         https://bugs.webkit.org/show_bug.cgi?id=43968
1281
1282         * WebCore.pro: Replaced use of Nokia specific platform scopes with concrete
1283         feature names.
1284
1285 2010-08-13  Pavel Feldman  <pfeldman@chromium.org>
1286
1287         Reviewed by Yury Semikhatsky.
1288
1289         Web Inspector: rename InspectorValue::push and set to
1290         push{Value|Object|Array} and set{...}.
1291         https://bugs.webkit.org/show_bug.cgi?id=43966
1292
1293         * bindings/js/ScriptProfile.cpp:
1294         (WebCore::buildInspectorObjectFor):
1295         * bindings/js/ScriptValue.cpp:
1296         (WebCore::jsToInspectorValue):
1297         * bindings/v8/ScriptCallStack.cpp:
1298         (WebCore::ScriptCallStack::stackTrace):
1299         * bindings/v8/ScriptProfile.cpp:
1300         (WebCore::buildInspectorObjectFor):
1301         * bindings/v8/ScriptValue.cpp:
1302         (WebCore::v8ToInspectorValue):
1303         * inspector/CodeGeneratorInspector.pm:
1304         * inspector/ConsoleMessage.cpp:
1305         (WebCore::ConsoleMessage::addToFrontend):
1306         * inspector/Inspector.idl:
1307         * inspector/InspectorApplicationCacheAgent.cpp:
1308         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
1309         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
1310         * inspector/InspectorController.cpp:
1311         (WebCore::InspectorController::buildArrayForCookies):
1312         (WebCore::InspectorController::getDOMStorageEntries):
1313         (WebCore::InspectorController::getProfileHeaders):
1314         (WebCore::InspectorController::getProfile):
1315         * inspector/InspectorDOMAgent.cpp:
1316         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1317         (WebCore::InspectorDOMAgent::buildObjectForNode):
1318         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
1319         (WebCore::InspectorDOMAgent::getStyles):
1320         (WebCore::InspectorDOMAgent::getAllStyles):
1321         (WebCore::InspectorDOMAgent::getRuleRanges):
1322         (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
1323         (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
1324         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
1325         (WebCore::InspectorDOMAgent::buildObjectForStyle):
1326         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
1327         (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
1328         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
1329         (WebCore::InspectorDOMAgent::buildObjectForRule):
1330         * inspector/InspectorDebuggerAgent.cpp:
1331         (WebCore::InspectorDebuggerAgent::saveBreakpoints):
1332         * inspector/InspectorResource.cpp:
1333         (WebCore::InspectorResource::updateScriptObject):
1334         * inspector/InspectorStorageAgent.cpp:
1335         (WebCore::):
1336         (WebCore::InspectorStorageAgent::executeSQL):
1337         * inspector/InspectorTimelineAgent.cpp:
1338         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
1339         (WebCore::InspectorTimelineAgent::didInstallTimer):
1340         (WebCore::InspectorTimelineAgent::didRemoveTimer):
1341         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
1342         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
1343         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
1344         (WebCore::InspectorTimelineAgent::didMarkTimeline):
1345         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
1346         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
1347         * inspector/InspectorValues.cpp:
1348         (WebCore::):
1349         (WebCore::InspectorValue::asValue):
1350         (WebCore::InspectorValue::asObject):
1351         (WebCore::InspectorValue::asArray):
1352         (WebCore::InspectorObject::asObject):
1353         (WebCore::InspectorArray::asArray):
1354         * inspector/InspectorValues.h:
1355         (WebCore::InspectorObject::setBool):
1356         (WebCore::InspectorObject::setNumber):
1357         (WebCore::InspectorObject::setString):
1358         (WebCore::InspectorObject::setValue):
1359         (WebCore::InspectorObject::setObject):
1360         (WebCore::InspectorObject::setArray):
1361         (WebCore::InspectorArray::pushValue):
1362         (WebCore::InspectorArray::pushObject):
1363         (WebCore::InspectorArray::pushArray):
1364         * inspector/ScriptBreakpoint.cpp:
1365         (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
1366         * inspector/TimelineRecordFactory.cpp:
1367         (WebCore::TimelineRecordFactory::createGenericRecord):
1368
1369 2010-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1370
1371         Unreviewed, rolling out r65204.
1372         http://trac.webkit.org/changeset/65204
1373         https://bugs.webkit.org/show_bug.cgi?id=43965
1374
1375         Caused a lot of test crashes in Chromium (Requested by yutak
1376         on #webkit).
1377
1378         * accessibility/AccessibilityRenderObject.cpp:
1379         (WebCore::AccessibilityRenderObject::isInputImage):
1380         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
1381         * dom/InputElement.h:
1382         * html/HTMLInputElement.h:
1383
1384 2010-08-13  Anton Muhin  <antonm@chromium.org>
1385
1386         Reviewed by Nate Chapin.
1387
1388         Reapplying http://trac.webkit.org/changeset/65284 after fixed include.
1389
1390         [v8] Create callbacks for named access of elements from document object on fly.
1391         https://bugs.webkit.org/show_bug.cgi?id=43725
1392
1393         That should speed up access to methods on document as there is no need to
1394         consult with interceptor before invoking the method.
1395
1396         This reapplies http://trac.webkit.org/changeset/60670 reverted with
1397         http://trac.webkit.org/changeset/63845.  The main difference is in treatment
1398         of removed named elements: we don't remove an accessor any more, but leave it.
1399         Therefore any accessor should be able to treat the case when there is no
1400         expando property.
1401
1402         * bindings/scripts/CodeGeneratorV8.pm:
1403         * bindings/v8/ScriptController.cpp:
1404         (WebCore::ScriptController::namedItemAdded):
1405         (WebCore::ScriptController::namedItemRemoved):
1406         * bindings/v8/V8DOMWindowShell.cpp:
1407         (WebCore::checkDocumentWrapper):
1408         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
1409         (WebCore::getter):
1410         (WebCore::V8DOMWindowShell::namedItemAdded):
1411         (WebCore::V8DOMWindowShell::namedItemRemoved):
1412         * bindings/v8/V8DOMWindowShell.h:
1413         * bindings/v8/V8DOMWrapper.cpp:
1414         (WebCore::V8DOMWrapper::instantiateV8Object):
1415         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1416         (WebCore::V8HTMLDocument::WrapInShadowObject):
1417         (WebCore::V8HTMLDocument::GetNamedProperty):
1418         (WebCore::V8HTMLDocument::allAccessorSetter):
1419         (WebCore::toV8):
1420         * html/HTMLDocument.cpp:
1421         (WebCore::HTMLDocument::removeItemFromMap):
1422
1423 2010-08-13  Pavel Feldman  <pfeldman@chromium.org>
1424
1425         Reviewed by Yury Semikhatsky.
1426
1427         Web Inspector: remove openInInspectorWindow and evaluateAndStringify from InjectedScript.
1428         https://bugs.webkit.org/show_bug.cgi?id=43854
1429
1430         * inspector/Inspector.idl:
1431         * inspector/InspectorController.cpp:
1432         (WebCore::InspectorController::openInInspectedWindow):
1433         * inspector/InspectorController.h:
1434         * inspector/front-end/ExtensionServer.js:
1435         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage.callback):
1436         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
1437         * inspector/front-end/InjectedScript.js:
1438         (injectedScriptConstructor):
1439         * inspector/front-end/InjectedScriptAccess.js:
1440         * inspector/front-end/InspectorBackendStub.js:
1441         (WebInspector.InspectorBackendStub):
1442         * inspector/front-end/ResourcesPanel.js:
1443         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
1444
1445 2010-08-13  Fumitoshi Ukai  <ukai@chromium.org>
1446
1447         Reviewed by Alexey Proskuryakov.
1448
1449         flaky websocket/tests/frame-length-overflow.html
1450         https://bugs.webkit.org/show_bug.cgi?id=43902
1451
1452         Add m_shouldDiscardReceivedData flag to indicate it will no longer
1453         receive data from network.
1454
1455         * websockets/WebSocketChannel.cpp:
1456         (WebCore::WebSocketChannel::WebSocketChannel):
1457         (WebCore::WebSocketChannel::didReceiveData):
1458         (WebCore::WebSocketChannel::didFail):
1459         (WebCore::WebSocketChannel::processBuffer):
1460         - when frame length overflows, we couldn't process data any more.
1461           clear buffer and mark m_shouldDiscardReceivedData true to make sure
1462           it doesn't process the same buffer again.
1463         * websockets/WebSocketChannel.h:
1464
1465 2010-08-13  Dirk Schulze  <krit@webkit.org>
1466
1467         Reviewed by Nikolas Zimmermann.
1468
1469         Use SVGPathByteStream to animate SVGPath
1470         https://bugs.webkit.org/show_bug.cgi?id=43929
1471
1472         Use SVGPathByteStream to perform animations of Paths. SVGPathBlender blends
1473         the starting point to the end point according to the current progress value.
1474         Cleanup SVGPathSegList, by removing the unnecessary legacy blending code.
1475
1476         No new tests because no functional changes.
1477
1478         * Android.mk:
1479         * CMakeLists.txt:
1480         * GNUmakefile.am:
1481         * WebCore.gypi:
1482         * WebCore.pro:
1483         * WebCore.vcproj/WebCore.vcproj:
1484         * WebCore.xcodeproj/project.pbxproj:
1485         * svg/SVGAllInOne.cpp:
1486         * svg/SVGAnimateElement.cpp:
1487         (WebCore::SVGAnimateElement::SVGAnimateElement):
1488         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1489         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1490         (WebCore::SVGAnimateElement::resetToBaseValue):
1491         (WebCore::SVGAnimateElement::applyResultsToTarget):
1492         * svg/SVGAnimateElement.h:
1493         * svg/SVGPathBlender.cpp: Added.
1494         (WebCore::SVGPathBlender::SVGPathBlender):
1495         (WebCore::SVGPathBlender::~SVGPathBlender):
1496         (WebCore::SVGPathBlender::blendAnimatedFloat):
1497         (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
1498         (WebCore::SVGPathBlender::blendMoveToSegment):
1499         (WebCore::SVGPathBlender::blendLineToSegment):
1500         (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
1501         (WebCore::SVGPathBlender::blendLineToVerticalSegment):
1502         (WebCore::SVGPathBlender::blendCurveToCubicSegment):
1503         (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
1504         (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
1505         (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
1506         (WebCore::SVGPathBlender::blendArcToSegment):
1507         (WebCore::SVGPathBlender::blendAnimatedPath):
1508         (WebCore::SVGPathBlender::cleanup):
1509         * svg/SVGPathBlender.h: Added.
1510         * svg/SVGPathParserFactory.cpp:
1511         (WebCore::globalSVGPathBlender):
1512         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
1513         * svg/SVGPathParserFactory.h:
1514         * svg/SVGPathSegList.cpp:
1515         (WebCore::SVGPathSegList::getPathSegAtLength):
1516         * svg/SVGPathSegList.h:
1517         (WebCore::SVGPathSegList::create):
1518         * svg/SVGPointList.cpp:
1519         (WebCore::adjustAnimatedValue):
1520
1521 2010-08-12  Nikolas Zimmermann  <nzimmermann@rim.com>
1522
1523         Reviewed by Dirk Schulze.
1524
1525         Window size changes + resources on absolute sized content leads to pixelation
1526         https://bugs.webkit.org/show_bug.cgi?id=43921
1527
1528         Avoid pixelation when using resources on absolute sized objects. Be sure to invalidate the used resources if window size changes.
1529         Otherwhise masks etc. will be scaled up and pixelate. As nice side-effect, this fixes run-webkit-tests --singly svg/W3C-SVG-1.1, which
1530         used to produce wrong results for the gradient tests, as the window size change from 800x600 for 480x360 (svg/W3C-SVG-1.1 specific DRT quirk)
1531         didn't invalidate the resources.
1532
1533         Renamed invalidateClient -> removeClientFromCache and invalidateClients -> removeAllClientsFromCache.
1534         Add a boolean "markForInvalidation" parameter, that controls wheter the clients should be marked for repaint/boundaries invalidation/layout
1535         or wheter we only want to notify the parents that the resource changed, to avoid doing unncessary work in SVGRenderSupport::layoutChildren.
1536
1537         Test: svg/custom/absolute-sized-content-with-resources.xhtml
1538
1539         * rendering/RenderSVGGradientStop.cpp:
1540         (WebCore::RenderSVGGradientStop::styleDidChange): Don't do anything for StyleDifferenceEqual.
1541         * rendering/RenderSVGImage.cpp:
1542         (WebCore::RenderSVGImage::imageChanged):
1543         * rendering/RenderSVGResource.cpp:
1544         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
1545         * rendering/RenderSVGResource.h:
1546         * rendering/RenderSVGResourceClipper.cpp:
1547         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
1548         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
1549         * rendering/RenderSVGResourceClipper.h:
1550         * rendering/RenderSVGResourceContainer.cpp:
1551         (WebCore::RenderSVGResourceContainer::layout):
1552         (WebCore::RenderSVGResourceContainer::idChanged):
1553         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
1554         (WebCore::RenderSVGResourceContainer::markClientForInvalidation):
1555         * rendering/RenderSVGResourceContainer.h:
1556         (WebCore::RenderSVGResourceContainer::):
1557         * rendering/RenderSVGResourceFilter.cpp:
1558         (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
1559         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
1560         (WebCore::RenderSVGResourceFilter::postApplyResource):
1561         * rendering/RenderSVGResourceFilter.h:
1562         * rendering/RenderSVGResourceGradient.cpp:
1563         (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
1564         (WebCore::RenderSVGResourceGradient::removeClientFromCache):
1565         (WebCore::RenderSVGResourceGradient::applyResource):
1566         * rendering/RenderSVGResourceGradient.h:
1567         * rendering/RenderSVGResourceMarker.cpp:
1568         (WebCore::RenderSVGResourceMarker::layout):
1569         (WebCore::RenderSVGResourceMarker::removeAllClientsFromCache):
1570         (WebCore::RenderSVGResourceMarker::removeClientFromCache):
1571         * rendering/RenderSVGResourceMarker.h:
1572         * rendering/RenderSVGResourceMasker.cpp:
1573         (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
1574         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
1575         * rendering/RenderSVGResourceMasker.h:
1576         * rendering/RenderSVGResourcePattern.cpp:
1577         (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
1578         (WebCore::RenderSVGResourcePattern::removeClientFromCache):
1579         (WebCore::RenderSVGResourcePattern::applyResource):
1580         * rendering/RenderSVGResourcePattern.h:
1581         * rendering/RenderSVGResourceSolidColor.h:
1582         (WebCore::RenderSVGResourceSolidColor::removeAllClientsFromCache):
1583         (WebCore::RenderSVGResourceSolidColor::removeClientFromCache):
1584         * rendering/SVGRenderSupport.cpp:
1585         (WebCore::invalidateResourcesOfChildren): Add new helper funtion recursively invalidating resources of a sub render tree.
1586         (WebCore::SVGRenderSupport::layoutChildren): Keep track of all objects that didn't need layout, as we still have to invalidate their resources, if window size changes.
1587         * rendering/SVGResources.cpp:
1588         (WebCore::SVGResources::removeClientFromCache):
1589         (WebCore::SVGResources::resourceDestroyed):
1590         * rendering/SVGResources.h:
1591         * rendering/SVGResourcesCache.cpp:
1592         (WebCore::SVGResourcesCache::clientLayoutChanged):
1593
1594 2010-08-13  Pavel Feldman  <pfeldman@chromium.org>
1595
1596         Reviewed by Yury Semikhatsky.
1597
1598         Chromium DevTools: [CRASH] Autocomplete on arrays causes crashes.
1599         https://bugs.webkit.org/show_bug.cgi?id=43955
1600
1601         * bindings/v8/ScriptValue.cpp:
1602         (WebCore::v8ToInspectorValue):
1603
1604 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
1605
1606         Reviewed by Sam Weinig
1607
1608         Unify UString::UTF8String() & String::utf8() methods,
1609         remove UString::cost() & make atArrayIndex a free function.
1610
1611         * WebCore.xcodeproj/project.pbxproj:
1612         * bindings/js/JSDOMWindowCustom.cpp:
1613         (WebCore::JSDOMWindow::getOwnPropertySlot):
1614         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
1615         * bridge/NP_jsobject.cpp:
1616         (_NPN_Enumerate):
1617         * bridge/c/c_utility.cpp:
1618         (JSC::Bindings::convertValueToNPVariant):
1619         * bridge/jni/JNIBridge.cpp:
1620         (JavaParameter::JavaParameter):
1621         (JavaMethod::JavaMethod):
1622         (JavaMethod::signature):
1623         (JavaMethod::methodID):
1624         * bridge/jni/JNIBridge.h:
1625         (JSC::Bindings::JavaString::utf8):
1626         (JSC::Bindings::JavaParameter::type):
1627         (JSC::Bindings::JavaMethod::returnType):
1628         * bridge/jni/jni_jsobject.mm:
1629         (JavaJSObject::call):
1630         (JavaJSObject::eval):
1631         (JavaJSObject::getMember):
1632         (JavaJSObject::setMember):
1633         (JavaJSObject::removeMember):
1634         (JavaJSObject::convertJObjectToValue):
1635         * bridge/jni/jsc/JNIBridgeJSC.cpp:
1636         (JavaField::JavaField):
1637         (JavaField::valueFromInstance):
1638         (JavaField::setValueToInstance):
1639         * bridge/jni/jsc/JNIBridgeJSC.h:
1640         (JSC::Bindings::JavaField::type):
1641         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1642         (JavaInstance::invokeMethod):
1643         * bridge/jni/jsc/JavaStringJSC.h:
1644         (JSC::Bindings::JavaStringImpl::utf8):
1645         * bridge/runtime_array.cpp:
1646         (JSC::RuntimeArray::getOwnPropertySlot):
1647         (JSC::RuntimeArray::getOwnPropertyDescriptor):
1648         (JSC::RuntimeArray::put):
1649
1650 2010-08-12  Yury Semikhatsky  <yurys@chromium.org>
1651
1652         Reviewed by Pavel Feldman.
1653
1654         Web Inspector: allow interrupting long running JS to execute inspector command
1655         https://bugs.webkit.org/show_bug.cgi?id=43900
1656
1657         * bindings/v8/ScriptDebugServer.cpp:
1658         (WebCore::):
1659         (WebCore::ScriptDebugServer::pause):
1660         (WebCore::ScriptDebugServer::interruptAndRun):
1661         (WebCore::ScriptDebugServer::runPendingTasks):
1662         (WebCore::ScriptDebugServer::handleV8DebugEvent):
1663         * bindings/v8/ScriptDebugServer.h:
1664         (WebCore::ScriptDebugServer::Task::~Task):
1665
1666 2010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1667
1668         Unreviewed, rolling out r65295.
1669         http://trac.webkit.org/changeset/65295
1670         https://bugs.webkit.org/show_bug.cgi?id=43950
1671
1672         It broke 4 sputnik tests (Requested by Ossy on #webkit).
1673
1674         * WebCore.xcodeproj/project.pbxproj:
1675         * bindings/js/JSDOMWindowCustom.cpp:
1676         (WebCore::JSDOMWindow::getOwnPropertySlot):
1677         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
1678         * bridge/NP_jsobject.cpp:
1679         (_NPN_Enumerate):
1680         * bridge/c/c_utility.cpp:
1681         (JSC::Bindings::convertValueToNPVariant):
1682         * bridge/jni/JNIBridge.cpp:
1683         (JavaParameter::JavaParameter):
1684         (JavaMethod::JavaMethod):
1685         (JavaMethod::signature):
1686         (JavaMethod::methodID):
1687         * bridge/jni/JNIBridge.h:
1688         (JSC::Bindings::JavaString::UTF8String):
1689         (JSC::Bindings::JavaParameter::type):
1690         (JSC::Bindings::JavaMethod::returnType):
1691         * bridge/jni/jni_jsobject.mm:
1692         (JavaJSObject::call):
1693         (JavaJSObject::eval):
1694         (JavaJSObject::getMember):
1695         (JavaJSObject::setMember):
1696         (JavaJSObject::removeMember):
1697         (JavaJSObject::convertJObjectToValue):
1698         * bridge/jni/jsc/JNIBridgeJSC.cpp:
1699         (JavaField::JavaField):
1700         (JavaField::valueFromInstance):
1701         (JavaField::setValueToInstance):
1702         * bridge/jni/jsc/JNIBridgeJSC.h:
1703         (JSC::Bindings::JavaField::type):
1704         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1705         (JavaInstance::invokeMethod):
1706         * bridge/jni/jsc/JavaStringJSC.h:
1707         (JSC::Bindings::JavaStringImpl::UTF8String):
1708         * bridge/runtime_array.cpp:
1709         (JSC::RuntimeArray::getOwnPropertySlot):
1710         (JSC::RuntimeArray::getOwnPropertyDescriptor):
1711         (JSC::RuntimeArray::put):
1712
1713 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
1714
1715         Not reviewed. Fixed typo in inspector js.
1716         Follow up to r65300.
1717
1718         * inspector/front-end/inspector.js:
1719         (WebInspector.log.isLogAvailable):
1720
1721 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
1722
1723         Reviewed by Yury Semikhatsky.
1724
1725         Web Inspector: Make getPrototypes return objects, not names.
1726         https://bugs.webkit.org/show_bug.cgi?id=43934
1727
1728         * inspector/front-end/InjectedScript.js:
1729         (injectedScriptConstructor):
1730         (injectedScriptConstructor.):
1731         * inspector/front-end/PropertiesSidebarPane.js:
1732         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
1733         * inspector/front-end/inspector.js:
1734         (WebInspector.log):
1735
1736 2010-08-12  James Robinson  <jamesr@chromium.org>
1737
1738         Unreviewed, rolling out r65284 and r65288.  Broke chromium compile.
1739         https://bugs.webkit.org/show_bug.cgi?id=43725
1740         http://trac.webkit.org/changeset/65284
1741         http://trac.webkit.org/changeset/65288
1742
1743         * bindings/scripts/CodeGeneratorV8.pm:
1744         * bindings/v8/ScriptController.cpp:
1745         (WebCore::ScriptController::namedItemAdded):
1746         (WebCore::ScriptController::namedItemRemoved):
1747         * bindings/v8/V8DOMWindowShell.cpp:
1748         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
1749         * bindings/v8/V8DOMWindowShell.h:
1750         * bindings/v8/V8DOMWrapper.cpp:
1751         (WebCore::V8DOMWrapper::instantiateV8Object):
1752         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1753         (WebCore::V8HTMLDocument::namedPropertyDeleter):
1754         (WebCore::V8HTMLDocument::namedPropertyGetter):
1755         (WebCore::V8HTMLDocument::indexedPropertyGetter):
1756         (WebCore::V8HTMLDocument::allAccessorSetter):
1757         (WebCore::toV8):
1758         * html/HTMLDocument.cpp:
1759         (WebCore::HTMLDocument::removeItemFromMap):
1760
1761 2010-08-12  Gavin Barraclough  <barraclough@apple.com>
1762
1763         Reviewed by Sam Weinig
1764
1765         Unify UString::UTF8String() & String::utf8() methods,
1766         remove UString::cost() & make atArrayIndex a free function.
1767
1768         * WebCore.xcodeproj/project.pbxproj:
1769         * bindings/js/JSDOMWindowCustom.cpp:
1770         (WebCore::JSDOMWindow::getOwnPropertySlot):
1771         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
1772         * bridge/NP_jsobject.cpp:
1773         (_NPN_Enumerate):
1774         * bridge/c/c_utility.cpp:
1775         (JSC::Bindings::convertValueToNPVariant):
1776         * bridge/jni/JNIBridge.cpp:
1777         (JavaParameter::JavaParameter):
1778         (JavaMethod::JavaMethod):
1779         (JavaMethod::signature):
1780         (JavaMethod::methodID):
1781         * bridge/jni/JNIBridge.h:
1782         (JSC::Bindings::JavaString::utf8):
1783         (JSC::Bindings::JavaParameter::type):
1784         (JSC::Bindings::JavaMethod::returnType):
1785         * bridge/jni/jni_jsobject.mm:
1786         (JavaJSObject::call):
1787         (JavaJSObject::eval):
1788         (JavaJSObject::getMember):
1789         (JavaJSObject::setMember):
1790         (JavaJSObject::removeMember):
1791         (JavaJSObject::convertJObjectToValue):
1792         * bridge/jni/jsc/JNIBridgeJSC.cpp:
1793         (JavaField::JavaField):
1794         (JavaField::valueFromInstance):
1795         (JavaField::setValueToInstance):
1796         * bridge/jni/jsc/JNIBridgeJSC.h:
1797         (JSC::Bindings::JavaField::type):
1798         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1799         (JavaInstance::invokeMethod):
1800         * bridge/jni/jsc/JavaStringJSC.h:
1801         (JSC::Bindings::JavaStringImpl::utf8):
1802         * bridge/runtime_array.cpp:
1803         (JSC::RuntimeArray::getOwnPropertySlot):
1804         (JSC::RuntimeArray::getOwnPropertyDescriptor):
1805         (JSC::RuntimeArray::put):
1806
1807 2010-08-12  Gavin Barraclough  <barraclough@apple.com>
1808
1809         Speculative build fix for chromium bindings (someone added the old include style!).
1810
1811         * bindings/v8/V8DOMWindowShell.h:
1812
1813 2010-08-12  MORITA Hajime  <morrita@google.com>
1814
1815         Reviewed by Tony Chang.
1816
1817         [Refactoring] TextEvent class has to many flags
1818         https://bugs.webkit.org/show_bug.cgi?id=43893
1819
1820         Turned TextEvent::m_isLineBreak, TextEvent::m_isBacktab, TextEvent::m_isPaste 
1821         into single TextEvent::m_inputType enumeration.
1822         
1823         No functional change. No new tests.
1824
1825         * dom/TextEvent.cpp:
1826         (WebCore::TextEvent::selectInputType):
1827         (WebCore::TextEvent::create):
1828         (WebCore::TextEvent::createForPlainTextPaste):
1829         (WebCore::TextEvent::createForFragmentPaste):
1830         (WebCore::TextEvent::TextEvent):
1831         * dom/TextEvent.h:
1832         (WebCore::TextEvent::):
1833         (WebCore::TextEvent::isLineBreak):
1834         (WebCore::TextEvent::isBackTab):
1835         (WebCore::TextEvent::isPaste):
1836         * page/EventHandler.cpp:
1837         (WebCore::EventHandler::handleTextInputEvent):
1838
1839 2010-08-12  Kenneth Russell  <kbr@google.com>
1840
1841         Reviewed by David Levin.
1842
1843         Delete obsolete CanvasNumberArray
1844         https://bugs.webkit.org/show_bug.cgi?id=38619
1845
1846         Deleted unreferenced code. Built WebKit and Chromium to test.
1847
1848         * Android.derived.jscbindings.mk:
1849         * Android.derived.v8bindings.mk:
1850         * Android.jscbindings.mk:
1851         * Android.mk:
1852         * bindings/js/JSCanvasNumberArrayCustom.cpp: Removed.
1853         * html/canvas/CanvasNumberArray.cpp: Removed.
1854         * html/canvas/CanvasNumberArray.h: Removed.
1855         * html/canvas/CanvasNumberArray.idl: Removed.
1856
1857 2010-08-12  Anton Muhin  <antonm@chromium.org>
1858
1859         Reviewed by Nate Chapin.
1860
1861         [v8] Create callbacks for named access of elements from document object on fly.
1862         https://bugs.webkit.org/show_bug.cgi?id=43725
1863
1864         That should speed up access to methods on document as there is no need to
1865         consult with interceptor before invoking the method.
1866
1867         This reapplies http://trac.webkit.org/changeset/60670 reverted with
1868         http://trac.webkit.org/changeset/63845.  The main difference is in treatment
1869         of removed named elements: we don't remove an accessor any more, but leave it.
1870         Therefore any accessor should be able to treat the case when there is no
1871         expando property.
1872
1873         * bindings/scripts/CodeGeneratorV8.pm:
1874         * bindings/v8/ScriptController.cpp:
1875         (WebCore::ScriptController::namedItemAdded):
1876         (WebCore::ScriptController::namedItemRemoved):
1877         * bindings/v8/V8DOMWindowShell.cpp:
1878         (WebCore::checkDocumentWrapper):
1879         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
1880         (WebCore::getter):
1881         (WebCore::V8DOMWindowShell::namedItemAdded):
1882         (WebCore::V8DOMWindowShell::namedItemRemoved):
1883         * bindings/v8/V8DOMWindowShell.h:
1884         * bindings/v8/V8DOMWrapper.cpp:
1885         (WebCore::V8DOMWrapper::instantiateV8Object):
1886         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1887         (WebCore::V8HTMLDocument::WrapInShadowObject):
1888         (WebCore::V8HTMLDocument::GetNamedProperty):
1889         (WebCore::V8HTMLDocument::allAccessorSetter):
1890         (WebCore::toV8):
1891         * html/HTMLDocument.cpp:
1892         (WebCore::HTMLDocument::removeItemFromMap):
1893
1894 2010-08-12  Dimitri Glazkov  <dglazkov@chromium.org>
1895
1896         Reviewed by Adam Barth.
1897
1898         Ensure that parser doesn't attach children that have been removed by JavaScript event handlers.
1899         https://bugs.webkit.org/show_bug.cgi?id=43813
1900
1901         This patch re-fixes bug 40742 in a way that keeps allowing HTMLLinkElement
1902         to lazy-attach.
1903
1904         * html/HTMLConstructionSite.cpp:
1905         (WebCore::HTMLConstructionSite::attach): Added parent check.
1906         * html/HTMLLinkElement.cpp: Basically undoes changes introduced by r61424.
1907         * html/HTMLLinkElement.h: Ditto.
1908
1909 2010-08-12  Justin Schuh  <jschuh@chromium.org>
1910
1911         Reviewed by Dumitru Daniliuc.
1912
1913         Clear PluginData's page pointer on page refresh
1914         https://bugs.webkit.org/show_bug.cgi?id=43888
1915
1916         Test: plugins/access-after-page-destroyed.html
1917
1918         * page/Page.cpp:
1919         (WebCore::Page::refreshPlugins):
1920
1921 2010-08-12  Zhenyao Mo  <zmo@google.com>
1922
1923         Reviewed by Dimitri Glazkov.
1924
1925         getParameter(STENCIL_VALUE_MASK) (and others) returns the wrong value
1926         https://bugs.webkit.org/show_bug.cgi?id=31842
1927
1928         * html/canvas/WebGLRenderingContext.cpp:
1929         (WebCore::WebGLRenderingContext::getUnsignedLongParameter): Casting from int to unsigned long correctly.
1930
1931 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
1932
1933         Reviewed by Joseph Pecoraro.
1934
1935         Web Inspector: mimic FireBug's array detection.
1936         https://bugs.webkit.org/show_bug.cgi?id=30974
1937
1938         * inspector/front-end/InjectedScript.js:
1939         (injectedScriptConstructor):
1940
1941 2010-08-12  Zhenyao Mo  <zmo@google.com>
1942
1943         Reviewed by Dimitri Glazkov.
1944
1945         regression in generateMipmap
1946         https://bugs.webkit.org/show_bug.cgi?id=43873
1947
1948         * html/canvas/WebGLTexture.cpp:
1949         (WebCore::WebGLTexture::generateMipmapLevelInfo): should set m_needToUseBlackTexture to false if generateMipmapLevelInfo runs through successfully.
1950
1951 2010-08-12  Ariya Hidayat  <ariya@sencha.com>
1952
1953         Reviewed by David Hyatt.
1954
1955         [Qt] Split TransparencyLayer into its own header file.
1956         https://bugs.webkit.org/show_bug.cgi?id=43935
1957
1958         * WebCore.pro: Include TransparencyLayer.h.
1959         * platform/graphics/qt/GraphicsContextQt.cpp:
1960         * platform/graphics/qt/TransparencyLayer.h: Added.
1961         (WebCore::TransparencyLayer::TransparencyLayer):
1962         (WebCore::TransparencyLayer::operator=):
1963
1964 2010-08-12  François Sausset  <sausset@gmail.com>
1965
1966         Reviewed by Beth Dakin.
1967
1968         Horizontal padding should be 0 on mrow elements.
1969         https://bugs.webkit.org/show_bug.cgi?id=43908
1970
1971         Updated tests in /mathml
1972
1973         * css/mathml.css:
1974         (mrow, mfenced):
1975         (mfenced):
1976
1977 2010-08-12  Aaron Boodman  <aa@chromium.org>
1978
1979         Reviewed by David Hyatt.
1980
1981         Make the cascade level of "user" styles configurable
1982         https://bugs.webkit.org/show_bug.cgi?id=43457
1983
1984         * WebCore.exp.in:
1985         * css/CSSStyleSelector.cpp:
1986         (WebCore::CSSStyleSelector::CSSStyleSelector):
1987         * dom/Document.cpp:
1988         (WebCore::Document::pageGroupUserSheets):
1989         * page/PageGroup.cpp:
1990         (WebCore::PageGroup::addUserStyleSheetToWorld):
1991         * page/PageGroup.h:
1992         * page/UserStyleSheet.h:
1993         (WebCore::UserStyleSheet::):
1994         (WebCore::UserStyleSheet::UserStyleSheet):
1995         (WebCore::UserStyleSheet::level):
1996
1997 2010-08-12  Jian Li  <jianli@chromium.org>
1998
1999         Fix qt build break.
2000
2001         * html/ThreadableBlobRegistry.cpp:
2002         (WebCore::postTaskToMainThread):
2003
2004 2010-08-12  Jian Li  <jianli@chromium.org>
2005
2006         Reviewed by David Levin.
2007
2008         Add ThreadableBlobRegistry to support calling BlobRegistry methods in
2009         main thread.
2010         https://bugs.webkit.org/show_bug.cgi?id=43874
2011
2012         * Android.mk:
2013         * CMakeLists.txt:
2014         * GNUmakefile.am:
2015         * WebCore.gypi:
2016         * WebCore.pro:
2017         * WebCore.vcproj/WebCore.vcproj:
2018         * WebCore.xcodeproj/project.pbxproj:
2019         * dom/ScriptExecutionContext.cpp:
2020         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2021         (WebCore::ScriptExecutionContext::addBlob):
2022         (WebCore::ScriptExecutionContext::removeBlob):
2023         (WebCore::ScriptExecutionContext::createPublicBlobURL):
2024         (WebCore::ScriptExecutionContext::revokePublicBlobURL):
2025         * dom/ScriptExecutionContext.h:
2026         * html/Blob.cpp:
2027         (WebCore::Blob::Blob):
2028         (WebCore::Blob::~Blob):
2029         (WebCore::Blob::contextDestroyed):
2030         * html/Blob.h:
2031         * html/BlobRegistryImpl.cpp:
2032         (WebCore::BlobRegistryImpl::registerBlobURL):
2033         (WebCore::BlobRegistryImpl::unregisterBlobURL):
2034         (WebCore::BlobRegistryImpl::getBlobDataFromURL):
2035         * html/ThreadableBlobRegistry.cpp: Added.
2036         * html/ThreadableBlobRegistry.h: Added.
2037
2038 2010-08-12  Csaba Osztrogonác  <ossy@webkit.org>
2039
2040         Reviewed by Darin Adler.
2041
2042         generate-bindings.pl should generate warning free code
2043         https://bugs.webkit.org/show_bug.cgi?id=43353
2044
2045         * bindings/scripts/CodeGeneratorJS.pm: Suggested parentheses added around && within ||
2046
2047 2010-08-11  Ryosuke Niwa  <rniwa@webkit.org>
2048
2049         Reviewed by Kent Tamura.
2050
2051         merge MarkupAccumulator and MarkupAccumulatorWrapper
2052         https://bugs.webkit.org/show_bug.cgi?id=43834
2053
2054         Removed MarkupAccumulator and added serializeNodesWithNamespaces to use MarkupAccumulatorWrapper
2055         in both versions of createMarkup.  Accumulation of nodes done manually in serializeNodes is
2056         now done by MarkupAccumulatorWrapper as done in the original MarkupAccumulator.
2057
2058         No new tests added since this is a cleanup.
2059
2060         * editing/markup.cpp:
2061         (WebCore::MarkupAccumulatorWrapper::MarkupAccumulatorWrapper): Takes vector of nodes and set it to m_nodes.
2062         (WebCore::MarkupAccumulatorWrapper::insertOpenTag): Adds node to m_nodes.
2063         (WebCore::MarkupAccumulatorWrapper::wrapWithNode): Adds node to m_nodes.
2064         (WebCore::serializeNodes): Adding node to nodes is moved into MarkupAccumulatorWrapper.
2065         (WebCore::createMarkup): Instantiates MarkupAccumulatorWrapper.
2066         (WebCore::serializeNodesWithNamespaces): Renamed from MarkupAccumulator::appendMarkup.
2067
2068 2010-08-12  Dirk Schulze  <krit@webkit.org>
2069
2070         Unreviewed sort of Xcode project file.
2071
2072         * WebCore.xcodeproj/project.pbxproj:
2073
2074 2010-08-12  Ben Murdoch  <benm@google.com>
2075
2076         Reviewed by Pavel Feldman.
2077
2078         InspectorController.h missing InspectorObject forward declaration
2079         https://bugs.webkit.org/show_bug.cgi?id=43913
2080
2081         Build fix so no new tests.
2082
2083         * inspector/InspectorController.h: Adds the necessary forward declaration.
2084
2085 2010-08-12  Hui Huang  <hui.2.huang@nokia.com>
2086
2087         Reviewed by Eric Seidel.
2088
2089         m_windowRect is not updated because parent of PluginView is not
2090         set when updatePluginWidget is called. plugin gets wrong window
2091         size on setwindow.
2092         https://bugs.webkit.org/show_bug.cgi?id=43635
2093
2094         * plugins/symbian/PluginViewSymbian.cpp:
2095         (WebCore::PluginView::setParent):
2096
2097 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
2098
2099         Not reviewed, re-apply r65241 and 65243.
2100
2101         Web Inspector: brush up object proxies, introduce remote object model.
2102         https://bugs.webkit.org/show_bug.cgi?id=43847
2103
2104         * WebCore.gypi:
2105         * WebCore.vcproj/WebCore.vcproj:
2106         * inspector/front-end/AuditRules.js:
2107         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
2108         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
2109         * inspector/front-end/ConsoleView.js:
2110         (WebInspector.ConsoleView.prototype.doEvalInWindow):
2111         (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
2112         (WebInspector.ConsoleView.prototype._enterKeyPressed):
2113         (WebInspector.ConsoleView.prototype._format):
2114         (WebInspector.ConsoleView.prototype._formatarray):
2115         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
2116         (WebInspector.ConsoleMessage.prototype._format):
2117         (WebInspector.ConsoleCommandResult):
2118         * inspector/front-end/DOMAgent.js:
2119         (WebInspector.DOMNode):
2120         * inspector/front-end/ElementsPanel.js:
2121         (WebInspector.ElementsPanel.prototype.performSearch):
2122         * inspector/front-end/ElementsTreeOutline.js:
2123         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
2124         * inspector/front-end/EventListenersSidebarPane.js:
2125         ():
2126         * inspector/front-end/InjectedScript.js:
2127         (injectedScriptConstructor):
2128         (injectedScriptConstructor.):
2129         * inspector/front-end/ObjectPropertiesSection.js:
2130         (WebInspector.ObjectPropertiesSection.prototype.update):
2131         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
2132         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2133         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2134         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
2135         * inspector/front-end/ObjectProxy.js: Removed.
2136         * inspector/front-end/PropertiesSidebarPane.js:
2137         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
2138         * inspector/front-end/RemoteObject.js: Added.
2139         (WebInspector.RemoteObjectId):
2140         (WebInspector.RemoteObject):
2141         (WebInspector.RemoteObject.fromPrimitiveValue):
2142         (WebInspector.RemoteObject.fromNode):
2143         (WebInspector.RemoteObject.fromPayload):
2144         (WebInspector.RemoteObject.type):
2145         (WebInspector.RemoteObject.prototype.get objectId):
2146         (WebInspector.RemoteObject.prototype.get type):
2147         (WebInspector.RemoteObject.prototype.get description):
2148         (WebInspector.RemoteObject.prototype.get hasChildren):
2149         (WebInspector.RemoteObject.prototype.isError):
2150         (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
2151         (WebInspector.RemoteObject.prototype.getOwnProperties):
2152         (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
2153         (WebInspector.RemoteObjectProperty):
2154         * inspector/front-end/ScopeChainSidebarPane.js:
2155         (WebInspector.ScopeChainSidebarPane.prototype.update):
2156         * inspector/front-end/ScriptsPanel.js:
2157         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
2158         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2159         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2160         * inspector/front-end/SourceFrame.js:
2161         (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
2162         (WebInspector.SourceFrame.prototype._showPopup):
2163         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
2164         * inspector/front-end/WatchExpressionsSidebarPane.js:
2165         (WebInspector.WatchExpressionsSection.prototype.update):
2166         (WebInspector.WatchExpressionTreeElement.prototype.update):
2167         * inspector/front-end/WebKit.qrc:
2168         * inspector/front-end/inspector.html:
2169         * inspector/front-end/inspector.js:
2170         (WebInspector.log.logMessage):
2171         (WebInspector.log):
2172         * inspector/front-end/utilities.js:
2173         ():
2174
2175 2010-08-11  Stephen White  <senorblanco@chromium.org>
2176
2177         Reviewed by David Levin.
2178
2179         Add support for BGRA pixel format to GraphicsContext3D.
2180         https://bugs.webkit.org/show_bug.cgi?id=43858
2181
2182         Although this has been standard in desktop GL since 1.2, it's an 
2183         extension in GL ES 2.0, so a query function is provided to check
2184         for support.  Since they differ on semantics (GL ES 2.0 requires 
2185         TexImage2D()'s format and internalFormat to match, while desktop GL
2186         will not accept BGRA as an internalFormat), the stub implementation
2187         returns false until these quirks have been implemented and tested on
2188         each port.
2189
2190         * platform/graphics/GraphicsContext3D.cpp:
2191         (WebCore::GraphicsContext3D::supportsBGRA):
2192         Add implementation for non-chromium platforms which returns false.
2193         * platform/graphics/GraphicsContext3D.h:
2194         (WebCore::GraphicsContext3D::):
2195         Add query function (supportsBGRA()) and the BGRA_EXT token.
2196
2197 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
2198
2199         Not reviewed. Rolling out r65241 and 65243 for breaking inspector tests.
2200
2201 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
2202
2203         Not reviewed. Adding the file missing in r65241.
2204
2205         * inspector/front-end/RemoteObject.js: Added.
2206         (WebInspector.RemoteObjectId):
2207         (WebInspector.RemoteObject):
2208         (WebInspector.RemoteObject.fromPrimitiveValue):
2209         (WebInspector.RemoteObject.fromNode):
2210         (WebInspector.RemoteObject.fromPayload):
2211         (WebInspector.RemoteObject.type):
2212         (WebInspector.RemoteObject.prototype.get objectId):
2213         (WebInspector.RemoteObject.prototype.get type):
2214         (WebInspector.RemoteObject.prototype.get description):
2215         (WebInspector.RemoteObject.prototype.get hasChildren):
2216         (WebInspector.RemoteObject.prototype.isError):
2217         (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
2218         (WebInspector.RemoteObject.prototype.getOwnProperties):
2219         (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
2220         (WebInspector.RemoteObjectProperty):
2221
2222 2010-08-12  Pavel Feldman  <pfeldman@chromium.org>
2223
2224         Reviewed by Yury Semikhatsky.
2225
2226         Web Inspector: brush up object proxies, introduce remote object model.
2227         https://bugs.webkit.org/show_bug.cgi?id=43847
2228
2229         * WebCore.gypi:
2230         * WebCore.vcproj/WebCore.vcproj:
2231         * inspector/front-end/AuditRules.js:
2232         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
2233         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
2234         * inspector/front-end/ConsoleView.js:
2235         (WebInspector.ConsoleView.prototype.doEvalInWindow):
2236         (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
2237         (WebInspector.ConsoleView.prototype._enterKeyPressed):
2238         (WebInspector.ConsoleView.prototype._format):
2239         (WebInspector.ConsoleView.prototype._formatnode):
2240         (WebInspector.ConsoleView.prototype._formatarray):
2241         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
2242         (WebInspector.ConsoleMessage.prototype._format):
2243         (WebInspector.ConsoleCommandResult):
2244         * inspector/front-end/DOMAgent.js:
2245         (WebInspector.DOMNode):
2246         * inspector/front-end/ElementsTreeOutline.js:
2247         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
2248         * inspector/front-end/EventListenersSidebarPane.js:
2249         * inspector/front-end/InjectedScript.js:
2250         (injectedScriptConstructor):
2251         (injectedScriptConstructor.):
2252         * inspector/front-end/ObjectPropertiesSection.js:
2253         (WebInspector.ObjectPropertiesSection.prototype.update):
2254         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
2255         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2256         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2257         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
2258         * inspector/front-end/ObjectProxy.js: Removed.
2259         * inspector/front-end/PropertiesSidebarPane.js:
2260         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
2261         * inspector/front-end/RemoteObject.js: Added.
2262         (WebInspector.RemoteObjectId):
2263         (WebInspector.RemoteObject):
2264         (WebInspector.RemoteObject.fromPrimitiveValue):
2265         (WebInspector.RemoteObject.fromErrorMessage):
2266         (WebInspector.RemoteObject.fromNode):
2267         (WebInspector.RemoteObject.fromPayload):
2268         (WebInspector.RemoteObject.type):
2269         (WebInspector.RemoteObject.prototype.get objectId):
2270         (WebInspector.RemoteObject.prototype.get type):
2271         (WebInspector.RemoteObject.prototype.get description):
2272         (WebInspector.RemoteObject.prototype.get hasChildren):
2273         (WebInspector.RemoteObject.prototype.isError):
2274         (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
2275         (WebInspector.RemoteObject.prototype.getOwnProperties):
2276         (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
2277         (WebInspector.RemoteObjectProperty):
2278         * inspector/front-end/ScopeChainSidebarPane.js:
2279         (WebInspector.ScopeChainSidebarPane.prototype.update):
2280         * inspector/front-end/ScriptsPanel.js:
2281         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
2282         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2283         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2284         * inspector/front-end/SourceFrame.js:
2285         (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
2286         (WebInspector.SourceFrame.prototype._showPopup):
2287         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
2288         * inspector/front-end/WatchExpressionsSidebarPane.js:
2289         (WebInspector.WatchExpressionsSection.prototype.update):
2290         (WebInspector.WatchExpressionTreeElement.prototype.update):
2291         * inspector/front-end/WebKit.qrc:
2292         * inspector/front-end/inspector.html:
2293         * inspector/front-end/inspector.js:
2294         (WebInspector.log.logMessage):
2295         (WebInspector.log):
2296         * inspector/front-end/utilities.js:
2297
2298 2010-08-12  Ben Murdoch  <benm@google.com>
2299
2300         Reviewed by Steve Block.
2301
2302         V8 code generator does not add V8BindingMacros.h include in all places it is needed
2303         https://bugs.webkit.org/show_bug.cgi?id=43907
2304
2305         Adds the V8BindingMacros.h header before using the STRING_TO_V8PARAMETER_EXCEPTION_BLOCK
2306         macro.
2307
2308         Build fix so no new tests.
2309
2310         * bindings/scripts/CodeGeneratorV8.pm: include the header at the right time.
2311
2312 2010-08-12  Jeremy Orlow  <jorlow@chromium.org>
2313
2314         Revert for now
2315         https://bugs.webkit.org/show_bug.cgi?id=43794 
2316
2317         * Android.mk:
2318         * CMakeLists.txt:
2319         * GNUmakefile.am:
2320         * WebCore.exp.in:
2321         * WebCore.gypi:
2322         * WebCore.pro:
2323         * WebCore.vcproj/WebCore.vcproj:
2324         * WebCore.xcodeproj/project.pbxproj:
2325         * page/GroupSettings.cpp: Removed.
2326         * page/GroupSettings.h: Removed.
2327         * page/PageGroup.cpp:
2328         (WebCore::PageGroup::PageGroup):
2329         (WebCore::PageGroup::localStorage):
2330         * page/PageGroup.h:
2331         * page/Settings.cpp:
2332         (WebCore::Settings::Settings):
2333         (WebCore::Settings::setLocalStorageQuota):
2334         (WebCore::Settings::setLocalStorageDatabasePath):
2335         * page/Settings.h:
2336         (WebCore::Settings::localStorageQuota):
2337         (WebCore::Settings::localStorageDatabasePath):
2338
2339 2010-08-12  Nikolas Zimmermann  <nzimmermann@rim.com>
2340
2341         Not reviewed. Follow up to Jeremys fix, just remove the context parameter, it's not needed anymore.
2342
2343         * rendering/RenderSVGResourceGradient.cpp:
2344         (WebCore::createMaskAndSwapContextForTextGradient):
2345         * rendering/RenderSVGResourceMasker.cpp:
2346         (WebCore::RenderSVGResourceMasker::applyResource):
2347         * rendering/SVGImageBufferTools.cpp:
2348         (WebCore::SVGImageBufferTools::createImageBuffer):
2349         * rendering/SVGImageBufferTools.h:
2350
2351 2010-08-12  Jeremy Orlow  <jorlow@chromium.org>
2352
2353         Build fix.
2354
2355         * rendering/SVGImageBufferTools.cpp:
2356         (WebCore::SVGImageBufferTools::createImageBuffer):
2357
2358 2010-08-12  Nikolas Zimmermann  <nzimmermann@rim.com>
2359
2360         Reviewed by Dirk Schulze.
2361
2362         SVG masking performance very slow
2363         https://bugs.webkit.org/show_bug.cgi?id=43622
2364
2365         Create ImageBuffers only as large as the final rendered size on screen. Only gradient on text on CG handled this correctly so far.
2366         Refactored the code into a new SVGImageBufferTools class, and use the code from RenderSVGResourceMasker -> makes the IE9 demo SVG dice usable.
2367         Clippers, Patterns and Filters remain to be converted.
2368
2369         Test: svg/zoom/page/zoom-mask-with-percentages.svg
2370
2371         * Android.mk: Add SVGImageBufferTools.* to build.
2372         * CMakeLists.txt: Ditto.
2373         * GNUmakefile.am: Ditto.
2374         * WebCore.gypi: Ditto.
2375         * WebCore.pro: Ditto.
2376         * WebCore.xcodeproj/project.pbxproj: Ditto.
2377         * rendering/RenderSVGAllInOne.cpp: Ditto.
2378         * rendering/RenderSVGResourceGradient.cpp: Refactored CG gradient specific "create image buffer in absolute coordinates" code into SVGImageBufferTools class.
2379         (WebCore::createMaskAndSwapContextForTextGradient):
2380         (WebCore::clipToTextMask):
2381         (WebCore::RenderSVGResourceGradient::applyResource):
2382         * rendering/RenderSVGResourceMasker.cpp: Use new SVGImageBufferTools class, to avoid pixelation when zooming and to create image buffers as big as the final rendered size on screen, not more.
2383         (WebCore::RenderSVGResourceMasker::invalidateClients):
2384         (WebCore::RenderSVGResourceMasker::applyResource):
2385         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2386         (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
2387         (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
2388         * rendering/RenderSVGResourceMasker.h:
2389         * rendering/SVGImageBufferTools.cpp: Added.
2390         (WebCore::SVGImageBufferTools::absoluteTransformFromContext):
2391         (WebCore::SVGImageBufferTools::createImageBuffer):
2392         (WebCore::SVGImageBufferTools::clipToImageBuffer):
2393         * rendering/SVGImageBufferTools.h: Added.
2394         (WebCore::SVGImageBufferTools::SVGImageBufferTools):
2395         (WebCore::SVGImageBufferTools::~SVGImageBufferTools):
2396
2397 2010-08-10  Jeremy Orlow  <jorlow@chromium.org>
2398
2399         Reviewed by Adam Barth.
2400
2401         Some settings are linked to the PageGroup not the Page.  Create a new class for those.
2402         https://bugs.webkit.org/show_bug.cgi?id=43794
2403
2404         Since persistient storage is shared between pages, there's no way to modify
2405         some settings related to it on a per page basis.  As such, it's not technically
2406         correct for these settings to be on the Page's settings.  Create a new class
2407         called GroupSettings, move the 2 group-wide local storage settings there, and
2408         add a new setting for IndexedDB's path (which is prompting this change).
2409
2410         No behavior has changed, so no tests.
2411
2412         * Android.mk:
2413         * CMakeLists.txt:
2414         * GNUmakefile.am:
2415         * WebCore.exp.in:
2416         * WebCore.gypi:
2417         * WebCore.pro:
2418         * WebCore.vcproj/WebCore.vcproj:
2419         * WebCore.xcodeproj/project.pbxproj:
2420         * page/PageGroup.cpp:
2421         (WebCore::PageGroup::PageGroup):
2422         (WebCore::PageGroup::localStorage):
2423         * page/PageGroup.h:
2424         (WebCore::PageGroup::groupSettings):
2425         * page/Settings.cpp:
2426         (WebCore::Settings::Settings):
2427         (WebCore::Settings::setSessionStorageQuota):
2428         * page/Settings.h:
2429
2430 2010-08-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
2431
2432         Reviewed by Simon Hausmann.
2433
2434         [Qt] Decode images directly to QPixmap
2435         https://bugs.webkit.org/show_bug.cgi?id=40797
2436
2437         Use the new API of Qt 4.7 to decode data from the image
2438         reader directly to QPixmap.
2439
2440         This allow us to use JDCT_IFAST when decoding jpeg images
2441         to pixmap, and to decode animated GIF images, while still
2442         using in-place conversion of color space.
2443
2444         * platform/graphics/qt/ImageDecoderQt.cpp:
2445         (WebCore::ImageDecoderQt::setData):
2446         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
2447
2448 2010-07-14  Marcus Bulach  <bulach@chromium.org>
2449
2450         Reviewed by darin@apple.com.
2451
2452         Removes DontCheckEnums from some IDLs and fixes the corresponding enums.
2453         https://bugs.webkit.org/show_bug.cgi?id=42278
2454
2455         This is a follow-up to https://bugs.webkit.org/show_bug.cgi?id=42250: it fixes some IDL/.h and enables generating compile-time checks for enums.
2456
2457         Tests: idls should generate valid code.
2458
2459         * dom/Node.h:
2460         (WebCore::Node::):
2461         * dom/Node.idl:
2462         * dom/OverflowEvent.h:
2463         (WebCore::OverflowEvent::):
2464         * dom/OverflowEvent.idl:
2465         * html/FileReader.cpp:
2466         (WebCore::FileReader::readyState):
2467         * html/FileReader.h:
2468         (WebCore::FileReader::):
2469         * html/FileReader.idl:
2470
2471 2010-08-12  Alejandro G. Castro  <alex@igalia.com>
2472
2473         Reviewed by David Levin.
2474
2475         The #if clause enabling a feature should avoid the all includes of
2476         the feature
2477         https://bugs.webkit.org/show_bug.cgi?id=43866
2478
2479         Modified the position of the guard to avoid including all the
2480         headers if the feature controlling the guard is not enabled.
2481
2482         * dom/make_names.pl:
2483
2484 2010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2485
2486         Unreviewed, rolling out r65221.
2487         http://trac.webkit.org/changeset/65221
2488         https://bugs.webkit.org/show_bug.cgi?id=43896
2489
2490         Broke snow leopard build. (Requested by dave_levin on
2491         #webkit).
2492
2493         * platform/graphics/GraphicsContext3D.cpp:
2494         * platform/graphics/GraphicsContext3D.h:
2495         (WebCore::GraphicsContext3D::):
2496
2497 2010-08-11  Stephen White  <senorblanco@chromium.org>
2498
2499         Reviewed by David Levin.
2500
2501         Add support for BGRA pixel format to GraphicsContext3D.
2502         https://bugs.webkit.org/show_bug.cgi?id=43858
2503
2504         Although this has been standard in desktop GL since 1.2, it's an 
2505         extension in GL ES 2.0, so a query function is provided to check
2506         for support.  Since they differ on semantics (GL ES 2.0 requires 
2507         TexImage2D()'s format and internalFormat to match, while desktop GL
2508         will not accept BGRA as an internalFormat), the stub implementation
2509         returns false until these quirks have been implemented and tested on
2510         each port.
2511
2512         * platform/graphics/GraphicsContext3D.cpp:
2513         (WebCore::GraphicsContext3D::supportsBGRA):
2514         Add implementation for non-chromium platforms which returns false.
2515         * platform/graphics/GraphicsContext3D.h:
2516         (WebCore::GraphicsContext3D::):
2517         Add query function (supportsBGRA()) and the BGRA_EXT token.
2518
2519 2010-08-11  Satish Sampath  <satish@chromium.org>
2520
2521         Reviewed by Kent Tamura.
2522
2523         Handle clicks and recognition events for the speech input button
2524         https://bugs.webkit.org/show_bug.cgi?id=43857
2525
2526         * rendering/RenderInputSpeech.cpp:
2527         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton): Selects the image based on current state.
2528         * rendering/TextControlInnerElements.cpp:
2529         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
2530         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2531         (WebCore::InputFieldSpeechButtonElement::set_state): Switch to a new state and update the UI.
2532         (WebCore::InputFieldSpeechButtonElement::didCompleteRecording): 
2533         (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
2534         * rendering/TextControlInnerElements.h:
2535         (WebCore::InputFieldSpeechButtonElement::):
2536         (WebCore::InputFieldSpeechButtonElement::state):
2537
2538 2010-08-11  Fumitoshi Ukai  <ukai@chromium.org>
2539
2540         Reviewed by Alexey Proskuryakov.
2541
2542         REGRESSION(65135): format specifier warnings
2543         https://bugs.webkit.org/show_bug.cgi?id=43876
2544
2545         * websockets/WebSocketChannel.cpp:
2546         (WebCore::WebSocketChannel::appendToBuffer): cast size_t to unsigned long for %lu.
2547         (WebCore::WebSocketChannel::processBuffer): cast size_t to unsigned long for %lu.
2548
2549 2010-08-11  Kevin Ollivier  <kevino@theolliviers.com>
2550
2551         [wx] Build fix, don't generate WebDOMEventTarget.h/.cpp as we use the ones in bindings/cpp.
2552         
2553         * DerivedSources.make:
2554
2555 2010-08-11  Tony Gentilcore  <tonyg@chromium.org>
2556
2557         Reviewed by Adam Barth.
2558
2559         Make PendingScript copyable so that it can be stored in containers
2560         https://bugs.webkit.org/show_bug.cgi?id=43875
2561
2562         This will be useful for storing PendingScripts in a Vector or Deque for
2563         async and defer scripts.
2564
2565         No new tests because no functional changes.
2566
2567         * dom/PendingScript.h:
2568         (WebCore::PendingScript::PendingScript):
2569         (WebCore::PendingScript::operator=):
2570
2571 2010-08-11  Victoria Kirst  <vrk@google.com>
2572
2573         Reviewed by David Levin.
2574
2575         Fixing a regression in the UI for Mac default audio/video controls.
2576         https://bugs.webkit.org/show_bug.cgi?id=43750
2577
2578         * rendering/RenderThemeChromiumMac.h:
2579         * rendering/RenderThemeChromiumMac.mm:
2580         (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderContainer):
2581         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
2582         (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
2583
2584 2010-08-11  Adam Barth  <abarth@webkit.org>
2585
2586         Reviewed by Eric Seidel.
2587
2588         HTML TreeBuilder hits ASSERT in fragment case with insertAdjacentHTML and colgroup
2589         https://bugs.webkit.org/show_bug.cgi?id=43758
2590
2591         This patch conditionalizes some LegacyHTMLTreeBuilder-specific code in
2592         HTMLElement::createContextualFragment that interferes with the new
2593         HTMLTreeBuilder.  Doing that exposes the above ASSERT, which I've fixed
2594         in this patch too.  Fixing that ASSERT involved a small refactoring in
2595         ExternalCharacterTokenBuffer.
2596
2597         * html/HTMLElement.cpp:
2598         (WebCore::HTMLElement::createContextualFragment):
2599         * html/HTMLTreeBuilder.cpp:
2600         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
2601         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
2602         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingNonWhitespace):
2603         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading):
2604         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading):
2605         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
2606
2607 2010-08-11  Adam Barth  <abarth@webkit.org>
2608
2609         Reviewed by Eric Seidel.
2610
2611         Conditionalize wrong fragment parsing code to pass more HTML5lib tests
2612         https://bugs.webkit.org/show_bug.cgi?id=43877
2613
2614         This code exists to support the LegacyHTMLTreeBuilder.  Unfortunately,
2615         it causes problems for the new HTMLTreeBuilder (which is more
2616         self-contained).
2617
2618         * dom/Element.cpp:
2619         (WebCore::Element::createContextualFragment):
2620
2621 2010-08-11  Ryosuke Niwa  <rniwa@webkit.org>
2622
2623         Reviewed by Tony Chang.
2624
2625         Can't unbold text in div in font-weight span
2626         https://bugs.webkit.org/show_bug.cgi?id=26871
2627
2628         The bug was caused by removeInlineStyle not being able to include styled inline nodes around the start.
2629         Solved this problem by pushing down all inline styles instead of just text-decorations.
2630         This approach allows removeInlineStyle to remove styled ancestors properly and generates compact markups.
2631
2632         Test: editing/style/push-down-inline-styles.html
2633
2634         * editing/ApplyStyleCommand.cpp:
2635         (WebCore::ApplyStyleCommand::removeCSSStyle): No longer removes attributes or node when mode == RemoveNone.
2636         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement
2637         to determine the highest ancestor whose style needs to be pushed down.
2638         (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Renamed from extractTextDecorationStyle.
2639         Extracts all inline CSS properties specified instead of just text decorations.
2640         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Renamed from applyTextDecorationStyle.
2641         Applies inline styles using addInlineStyleIfNeeded or adds inline CSS values.
2642         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Renamed from pushDownTextDecorationStyleAroundNode.
2643         (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownTextDecorationStyleAroundNode.
2644         * editing/ApplyStyleCommand.h:
2645         * editing/DeleteSelectionCommand.cpp:
2646         (WebCore::DeleteSelectionCommand::mergeParagraphs): Prevents moveParagraph from preserving
2647         the style of an empty paragraph when merged with the previous paragraph because we don't use that style anyways.
2648
2649 2010-08-11  Julien Chaffraix  <jchaffraix@codeaurora.org>
2650
2651         Reviewed by Ariya Hidayat.
2652
2653         Remove dead code in CSSStyleSelector.
2654         https://bugs.webkit.org/show_bug.cgi?id=43805
2655
2656         * css/CSSStyleSelector.cpp: Remove some debugging code that
2657         was compiled out.
2658
2659 2010-08-11  Chris Fleizach  <cfleizach@apple.com>
2660
2661         Reviewed by Beth Dakin.
2662
2663         AX: isNativeCheckbox does not work as advertised
2664         https://bugs.webkit.org/show_bug.cgi?id=43872
2665
2666         Test: platform/mac/accessibility/native-vs-nonnative-checkboxes.html
2667
2668         * accessibility/AccessibilityRenderObject.cpp:
2669         (WebCore::AccessibilityRenderObject::isInputImage):
2670             Only say it's an input image if its role has not been overriden
2671         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
2672         * dom/InputElement.h:
2673             Add methods to query if it's a checkbox or radio button type element.
2674         * html/HTMLInputElement.h:
2675         (WebCore::HTMLInputElement::isCheckbox):
2676
2677 2010-08-11  Kenneth Russell  <kbr@google.com>
2678
2679         Reviewed by David Levin.
2680
2681         Remove obsolete WebGLArray type names
2682         https://bugs.webkit.org/show_bug.cgi?id=43885
2683
2684         Deleted aliases to obsolete WebGLArray type names. Updated
2685         affected layout tests, synchronizing them with the versions in the
2686         Khronos repository where appropriate. Ran all layout tests.
2687
2688         * bindings/js/JSDOMWindowCustom.cpp:
2689         * page/DOMWindow.idl:
2690
2691 2010-08-11  Steve Block  <steveblock@google.com>
2692
2693         Reviewed by David Levin.
2694
2695         [chromium] Geolocation breaks the compile if ENABLE_GEOLOCATION is set to 0
2696         https://bugs.webkit.org/show_bug.cgi?id=43753
2697
2698         This change guards the entire contents of the V8 custom bindings files
2699         with ENABLE(GEOLOCATION) to match JSC.
2700
2701         No new tests, build fix only.
2702
2703         * bindings/v8/custom/V8CustomPositionCallback.cpp:
2704         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
2705         * bindings/v8/custom/V8GeolocationCustom.cpp:
2706
2707 2010-08-11  Kwang Yul Seo  <skyul@company100.net>
2708
2709         Reviewed by David Levin.
2710
2711         Include <wtf/UnusedParam.h> in GraphicsContextSkia.cpp
2712         https://bugs.webkit.org/show_bug.cgi?id=43843
2713
2714         wtf/UnusedParam.h must be included because UNUSED_PARAM macro is used.
2715
2716         * platform/graphics/skia/GraphicsContextSkia.cpp:
2717
2718 2010-08-11  Nico Weber  <thakis@chromium.org>
2719
2720         Reviewed by David Levin.
2721
2722         [chromium/mac]: Fix colors in compositing mode
2723         https://bugs.webkit.org/show_bug.cgi?id=43823
2724
2725         The textures are drawn by opengl, which doesn't do any color space
2726         correction -- it assumes everything is in the device color space
2727         already. Hence, when drawing into the memory that will be uploaded
2728         as opengl texture, use the device color space.
2729
2730         * platform/graphics/chromium/ImageLayerChromium.cpp:
2731         (WebCore::ImageLayerChromium::updateTextureContents):
2732         * platform/graphics/chromium/LayerChromium.cpp:
2733         (WebCore::LayerChromium::updateTextureContents):
2734         * platform/graphics/chromium/LayerRendererChromium.cpp:
2735         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
2736
2737 2010-08-11  Kenneth Russell  <kbr@google.com>
2738
2739         Reviewed by Dimitri Glazkov.
2740
2741         Remove obsolete texImage2D and texSubImage2D entry points
2742         https://bugs.webkit.org/show_bug.cgi?id=40320
2743
2744         No new tests; covered by existing WebGL tests.
2745
2746         * html/canvas/WebGLRenderingContext.cpp:
2747         * html/canvas/WebGLRenderingContext.h:
2748         * html/canvas/WebGLRenderingContext.idl:
2749
2750 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
2751
2752         Windows build fix.
2753
2754         * platform/win/BString.cpp:
2755         (WebCore::BString::BString):
2756
2757 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
2758
2759         Qt build fix II.
2760
2761         * WebCore.xcodeproj/project.pbxproj:
2762         * bridge/qt/qt_runtime.cpp:
2763         (JSC::Bindings::convertValueToQVariant):
2764
2765 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
2766
2767         Qt build fix.
2768
2769         * WebCore.xcodeproj/project.pbxproj:
2770         * bridge/qt/qt_runtime.cpp:
2771         (JSC::Bindings::convertValueToQVariant):
2772
2773 2010-08-11  Steve Block  <steveblock@google.com>
2774
2775         Reviewed by Jeremy Orlow.
2776
2777         Need EmptyDeviceOrientationClient and EmptyDeviceMotionClient for use with SVGImage
2778         https://bugs.webkit.org/show_bug.cgi?id=43848
2779
2780         Tested by existing DeviceOrientation tests.
2781
2782         * loader/EmptyClients.h:
2783         (WebCore::EmptyDeviceMotionClient::setController):
2784         (WebCore::EmptyDeviceMotionClient::startUpdating):
2785         (WebCore::EmptyDeviceMotionClient::stopUpdating):
2786         (WebCore::EmptyDeviceMotionClient::currentDeviceMotion):
2787         (WebCore::EmptyDeviceOrientationClient::setController):
2788         (WebCore::EmptyDeviceOrientationClient::startUpdating):
2789         (WebCore::EmptyDeviceOrientationClient::stopUpdating):
2790         (WebCore::EmptyDeviceOrientationClient::lastOrientation):
2791         * svg/graphics/SVGImage.cpp:
2792         (WebCore::SVGImage::dataChanged):
2793
2794 2010-08-11  Rob Buis  <rwlbuis@gmail.com>
2795
2796         Reviewed by Dan Bernstein.
2797
2798         https://bugs.webkit.org/show_bug.cgi?id=42042
2799         An empty value for xml:lang isn't considered
2800
2801         Revert last line change of my patch ; it happens to
2802         behave correctly and same as before, but makes the
2803         use case of empty values unneededly slower.
2804
2805         No new tests. (No change in behavior)
2806
2807         * css/CSSStyleSelector.cpp:
2808         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2809
2810 2010-08-11  Kevin Ollivier  <kevino@theolliviers.com>
2811
2812         [wx, WebDOM] Build fix. Fix callback params and WebCore::String -> WTF::String fixes.
2813
2814         * bindings/cpp/WebDOMCustomVoidCallback.cpp: Added.
2815         (WebDOMCustomVoidCallback::WebDOMCustomVoidCallback):
2816         (WebDOMCustomVoidCallback::~WebDOMCustomVoidCallback):
2817         (WebDOMCustomVoidCallback::handleEvent):
2818         (toWebCore):
2819         * bindings/cpp/WebDOMCustomVoidCallback.h: Added.
2820         (WebDOMCustomVoidCallback::create):
2821         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
2822         (documentWrite):
2823         * bindings/cpp/WebDOMString.cpp:
2824         (WebDOMString::equals):
2825         * bindings/scripts/CodeGeneratorCPP.pm:
2826         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
2827         (WebDOMTestCallback::callbackWithClass1Param):
2828         (WebDOMTestCallback::callbackWithClass2Param):
2829         (WebDOMTestCallback::callbackWithNonBoolReturnType):
2830         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2831         * bindings/scripts/test/V8/V8TestInterface.h:
2832         * bindings/scripts/test/V8/V8TestObj.h:
2833         * wscript:
2834
2835 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
2836
2837         Rubber stamps by Darin Adler & Sam Weinig.
2838
2839         Bug 43867 - Some UString cleanup
2840
2841         Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
2842         Move string concatenation methods to a new header to simplify down UString.h.  Remove is8Bit().
2843
2844         * WebCore.xcodeproj/project.pbxproj:
2845         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2846         (WebCore::hasCSSPropertyNamePrefix):
2847         (WebCore::cssPropertyName):
2848         * bindings/js/JSLocationCustom.cpp:
2849         (WebCore::JSLocation::setPort):
2850         * bindings/js/ScriptDebugServer.cpp:
2851         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2852         * bindings/js/ScriptString.h:
2853         (WebCore::ScriptString::size):
2854         * bindings/js/ScriptValue.cpp:
2855         (WebCore::jsToInspectorValue):
2856         * bindings/objc/WebScriptObject.mm:
2857         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2858         * bridge/jni/jni_jsobject.mm:
2859         (JavaJSObject::convertValueToJObject):
2860         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
2861         (JSC::Bindings::convertArrayInstanceToJavaArray):
2862         (JSC::Bindings::convertValueToJValue):
2863         * bridge/objc/objc_runtime.mm:
2864         (JSC::Bindings::callObjCFallbackObject):
2865
2866 2010-08-10  David Hyatt  <hyatt@apple.com>
2867
2868         Reviewed by Dan Bernstein.
2869
2870         https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content.
2871         
2872         Add a new boolean to Document to indicate that content should be paginated.  This is checked when doing page breaks
2873         and in a couple of other cases.
2874
2875         * dom/Document.cpp:
2876         (WebCore::Document::Document):
2877         * dom/Document.h:
2878         (WebCore::Document::paginatedForScreen):
2879         (WebCore::Document::setPaginatedForScreen):
2880         (WebCore::Document::paginated):
2881         * rendering/RenderBlock.cpp:
2882         (WebCore::RenderBlock::paintChildren):
2883         (WebCore::RenderBlock::calcColumnWidth):
2884         * rendering/RenderBox.cpp:
2885         (WebCore::RenderBox::calcHeight):
2886         * rendering/RenderView.cpp:
2887         (WebCore::RenderView::paint):
2888
2889 2010-08-11  Adam Barth  <abarth@webkit.org>
2890
2891         Windows build fix.  Turns out we need to unconditionally include
2892         HTMLEntityNames.cpp now that LegacyHTMLDocumentParser doesn't exist.
2893
2894         * html/HTMLEntityParser.cpp:
2895
2896 2010-08-11  Eric Carlson  <eric.carlson@apple.com>
2897
2898         Reviewed by Darin Adler.
2899
2900         Inserting a <source> element should immediately set networkState to NETWORK_NO_SOURCE.
2901         https://bugs.webkit.org/show_bug.cgi?id=42897
2902
2903         A <source> element inserted as a child of a media element with a networkState of NETWORK_EMPTY
2904         should cause the networkState to immediately change to NETWORK_NO_SOURCE.
2905
2906         * WebCore.xcodeproj/project.pbxproj:
2907         * html/HTMLMediaElement.cpp:
2908         (WebCore::HTMLMediaElement::HTMLMediaElement): Remove unused variable m_processingLoad.
2909         (WebCore::HTMLMediaElement::prepareForLoad): Set m_networkState to NETWORK_NO_SOURCE.
2910         (WebCore::HTMLMediaElement::loadInternal): Remove unused variable m_processingLoad.
2911         (WebCore::HTMLMediaElement::selectMediaResource): No need to change m_networkState, it was done in prepareForLoad.
2912         * html/HTMLMediaElement.h:
2913
2914         * html/HTMLSourceElement.cpp:
2915         (WebCore::HTMLSourceElement::insertedIntoTree): Renamed from insertedIntoDocument because we want
2916         to do this setup whether or not the parent media element is in the document.
2917         * html/HTMLSourceElement.h:
2918
2919 2010-08-11  Adam Barth  <abarth@webkit.org>
2920
2921         Rubber-stamped by Eric Seidel.
2922
2923         Delete LegacyHTMLDocumentParser and LegacyPreloadScanner
2924         https://bugs.webkit.org/show_bug.cgi?id=43836
2925
2926         These classes are bit-rotting disturbingly quickly.  We removed the
2927         last dependencies on these classes and so we can remove them.
2928
2929         We might need to preserve some of their particular quirks to handle
2930         some legacy applications, but our current thinking is to do that with
2931         individual settings that affect the new parser.
2932
2933         * Android.mk:
2934         * CMakeLists.txt:
2935         * GNUmakefile.am:
2936         * WebCore.gypi:
2937         * WebCore.pro:
2938         * WebCore.vcproj/WebCore.vcproj:
2939         * WebCore.xcodeproj/project.pbxproj:
2940         * dom/Document.cpp:
2941         * dom/DocumentFragment.cpp:
2942         (WebCore::DocumentFragment::parseHTML):
2943         * dom/DocumentParser.h:
2944         * dom/XMLDocumentParserLibxml2.cpp:
2945         * dom/XMLDocumentParserQt.cpp:
2946         * html/HTMLConstructionSite.cpp:
2947         * html/HTMLDocument.cpp:
2948         (WebCore::HTMLDocument::createParser):
2949         * html/HTMLEntityParser.cpp:
2950         (WebCore::decodeNamedEntity):
2951         * html/HTMLEntityParser.h:
2952         * html/HTMLFormControlElement.cpp:
2953         * html/HTMLTreeBuilder.cpp:
2954         * html/HTMLViewSourceDocument.cpp:
2955         (WebCore::HTMLViewSourceDocument::createParser):
2956         * html/LegacyHTMLDocumentParser.cpp: Removed.
2957         * html/LegacyHTMLDocumentParser.h: Removed.
2958         * html/LegacyHTMLTreeBuilder.cpp:
2959         * html/LegacyPreloadScanner.cpp: Removed.
2960         * html/LegacyPreloadScanner.h: Removed.
2961         * loader/FTPDirectoryDocument.cpp:
2962         (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
2963         (WebCore::FTPDirectoryDocumentParser::appendEntry):
2964         (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
2965         (WebCore::processFilesizeString):
2966         (WebCore::wasLastDayOfMonth):
2967         (WebCore::processFileDateString):
2968         (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
2969         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
2970         (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
2971         (WebCore::FTPDirectoryDocumentParser::append):
2972         (WebCore::FTPDirectoryDocumentParser::finish):
2973         * page/XSSAuditor.cpp:
2974         (WebCore::XSSAuditor::decodeHTMLEntities):
2975         * page/XSSAuditor.h:
2976         * platform/text/SegmentedString.cpp:
2977         (WebCore::SegmentedString::prepend):
2978
2979 2010-08-11  Chris Jerdonek  <cjerdonek@webkit.org>
2980
2981         Reviewed by Adam Barth.
2982
2983         Refactored FrameLoader::createWindow() out of the FrameLoader class
2984         since FrameLoader should not be responsible for creating windows.
2985
2986         https://bugs.webkit.org/show_bug.cgi?id=39156
2987
2988         No new functionality, so no new tests.
2989
2990         * bindings/generic/BindingDOMWindow.h:
2991         (WebCore::::createWindow):
2992           - Updated the call to FrameLoader's createWindow().
2993         * bindings/js/JSDOMWindowCustom.cpp:
2994         (WebCore::createWindow):
2995           - Updated the call to FrameLoader's createWindow().
2996         * loader/FrameLoader.cpp:
2997         (WebCore::createWindowFromFrameLoader):
2998           - Made FrameLoader::createWindow() non-member, non-friend and changed it
2999             to accept Frame* parameters instead of FrameLoader*.
3000         * loader/FrameLoader.h:
3001           - Updated the header file to reflect the above change to FrameLoader.cpp.
3002
3003 2010-08-11  Ilya Tikhonovsky  <loislo@chromium.org>
3004
3005         Reviewed by Pavel Feldman.
3006
3007         WebInspector: small refactoring for CodeGeneratorInspector.
3008         all "notify" methods are generating in InspectorFrontend
3009         the other methods are generating in InspectorBackend.
3010         https://bugs.webkit.org/show_bug.cgi?id=43849
3011
3012         * inspector/CodeGeneratorInspector.pm:
3013
3014 2010-08-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3015
3016         Reviewed by Xan Lopez.
3017
3018         [GTK] Misc improvements to the scrolling code
3019         https://bugs.webkit.org/show_bug.cgi?id=41926
3020
3021         Refactor code that uses deprecated ways of dealing with the
3022         adjustments to use the GtkVersioning infrastructure.
3023
3024         * GNUmakefile.am:
3025         * platform/gtk/GtkVersioning.cpp: Added.
3026         * platform/gtk/GtkVersioning.h:
3027         * platform/gtk/ScrollViewGtk.cpp:
3028         * platform/gtk/ScrollbarGtk.cpp:
3029         (ScrollbarGtk::detachAdjustment):
3030         (ScrollbarGtk::updateThumbPosition):
3031         (ScrollbarGtk::updateThumbProportion):
3032
3033 2010-08-11  Nate Chapin  <japhet@chromium.org>
3034
3035         Chromium mac build fix (variables weren't being initialized).
3036
3037         * platform/graphics/filters/FEGaussianBlur.cpp: 
3038         (WebCore::FEGaussianBlur::apply): Initalize dxLeft, dxRight, dyLeft, dyRight.
3039
3040 2010-08-11  Pavel Feldman  <pfeldman@chromium.org>
3041
3042         Reviewed by Yury Semikhatsky.
3043
3044         Web Inspector: apply correct fix to storage panel status bar buttons.
3045
3046         https://bugs.webkit.org/show_bug.cgi?id=43846
3047
3048         * inspector/front-end/DatabaseTableView.js:
3049         (WebInspector.DatabaseTableView.prototype.get statusBarItems):
3050         * inspector/front-end/StoragePanel.js:
3051         (WebInspector.StoragePanel.prototype._genericViewSetup):
3052
3053 2010-08-11  Kevin Ollivier  <kevino@theolliviers.com>
3054
3055         Reviewed by Adam Barth.
3056
3057         Override operator= for C++ DOM binding classes with private structs
3058         and update C++ DOM bindings test results.
3059         https://bugs.webkit.org/show_bug.cgi?id=43735
3060
3061         * bindings/cpp/WebDOMEventTarget.cpp:
3062         (WebDOMEventTarget::operator=):
3063         * bindings/cpp/WebDOMEventTarget.h:
3064         * bindings/scripts/CodeGeneratorCPP.pm:
3065         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
3066         (WebDOMTestCallback::operator=):
3067         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
3068         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
3069         (WebDOMTestInterface::operator=):
3070         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
3071         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3072         (WebDOMTestObj::operator=):
3073         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3074
3075 2010-08-11  Julie Parent  <jparent@chromium.org>
3076
3077         Reviewed by Justin Garcia.
3078
3079         Crash in replaceSelectionCommand with RTL text.
3080         https://bugs.webkit.org/show_bug.cgi?id=41485
3081         
3082         For text with mixed directionality, sort the text boxes before
3083         computing gaps, since that code assumes the boxes are in order.
3084
3085         Test: editing/execCommand/insert-image-on-top-of-directional-text.html
3086
3087         * editing/CompositeEditCommand.cpp:
3088         (WebCore::CompositeEditCommand::deleteInsignificantText): Sort boxes
3089         like we do in TextIterator before computing gaps.
3090         * editing/TextIterator.cpp:
3091         (WebCore::TextIterator::handleTextNode): Use new compareByStart
3092         rather than compareBoxStart.  No functional change.
3093         * rendering/InlineTextBox.h:
3094         (WebCore::InlineTextBox::compareByStart): Moved compareBoxStart
3095         from TextIterator here so it can be used in multiple places.
3096
3097 2010-08-11  Fumitoshi Ukai  <ukai@chromium.org>
3098
3099         Unreviewed build fix of Leopard Intel Debug (Build)
3100
3101         * websockets/WebSocketChannel.cpp:
3102         (WebCore::WebSocketChannel::processBuffer): use %lu, instead of %ul
3103
3104 2010-08-11  Alejandro G. Castro  <alex@igalia.com>
3105
3106         Reviewed by Dirk Schulze.
3107
3108         Fixes to the gaussian blur algorithm
3109         https://bugs.webkit.org/show_bug.cgi?id=41605
3110
3111         Added the recomendations of SVG regarding the kernel size
3112         calculation for the approximation of the gaussian
3113         blur. http://www.w3.org/TR/SVG/filters.html#feGaussianBlurElement.
3114         Modified also some variable names to clarify algorithm, reviewed
3115         the situation where both standard deviations are 0.
3116
3117         * platform/graphics/filters/FEGaussianBlur.cpp:
3118         (WebCore::FEGaussianBlur::FEGaussianBlur):
3119         (WebCore::FEGaussianBlur::stdDeviationX):
3120         (WebCore::FEGaussianBlur::setStdDeviationX):
3121         (WebCore::FEGaussianBlur::stdDeviationY):
3122         (WebCore::FEGaussianBlur::setStdDeviationY):
3123         (WebCore::boxBlur):
3124         (WebCore::FEGaussianBlur::kernelPosition): Added the SVG kernel
3125         position recomendation.
3126         (WebCore::FEGaussianBlur::apply):
3127         (WebCore::FEGaussianBlur::externalRepresentation):
3128         * platform/graphics/filters/FEGaussianBlur.h:
3129
3130 2010-08-11  Kristian Monsen  <kristianm@google.com>
3131
3132         Reviewed by Steve Block.
3133
3134         Compile fix for Android, added include for <wtf/text/Cstring.h, this
3135         did not get included in Android.
3136         https://bugs.webkit.org/show_bug.cgi?id=41517
3137         
3138         Build fix only, no new tests.
3139
3140         * page/PrintContext.cpp:
3141
3142 2010-08-11  Fumitoshi Ukai  <ukai@chromium.org>
3143
3144         Reviewed by Alexey Proskuryakov.
3145
3146         Fix length calculation to be more robust.
3147         https://bugs.webkit.org/show_bug.cgi?id=43777
3148
3149         Test: websocket/tests/frame-length-overflow.html
3150
3151         * websockets/WebSocketChannel.cpp:
3152         (WebCore::WebSocketChannel::appendToBuffer): len is size_t.
3153          - add sanity check for integer wraps.
3154         (WebCore::WebSocketChannel::skipBuffer): len is size_t.
3155         (WebCore::WebSocketChannel::processBuffer): length is size_t.
3156          - add sanity check for integer wraps.
3157         * websockets/WebSocketChannel.h: change m_bufferSize and len to size_t.
3158
3159 2010-08-10  Eric Seidel  <eric@webkit.org>
3160
3161         Reviewed by Adam Barth.
3162
3163         Fix three ASSERTs hit with the HTML5 TreeBuilder in fragment mode
3164         https://bugs.webkit.org/show_bug.cgi?id=43762
3165
3166         In fixing the insertAdjacentHTML I had to make small changes to
3167         the error logic, which ended up bringing us closer to HTML5.
3168
3169         Test: fast/dom/HTMLElement/insertAdjacentHTML-errors.html
3170
3171         * html/HTMLConstructionSite.cpp:
3172         (WebCore::HTMLConstructionSite::attach):
3173          - This ASSERT was just wrong, the child should not be attached
3174            in the case the parent is not attached.
3175         * html/HTMLElement.cpp:
3176         (WebCore::contextElementForInsertion):
3177          - This is part of HTML5, needed to know what to call the
3178            HTML or XML parsers with.  The previous code always passed
3179            "this" which is wrong in the case of beforeBegin or afterEnd insertion.
3180         (WebCore::HTMLElement::insertAdjacentHTML):
3181          - Use the right contextElement now that we know how to compute it.
3182         * html/HTMLTreeBuilder.cpp:
3183         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
3184          - This ASSERT is direct from the spec, but it's wrong, so I've filed a spec bug.
3185
3186 2010-08-11  Adam Barth  <abarth@webkit.org>
3187
3188         Attempt to fix Windows build.
3189
3190         * platform/win/COMPtr.h:
3191         (WTF::):
3192
3193 2010-08-11  Adam Barth  <abarth@webkit.org>
3194
3195         Reviewed by Eric Seidel.
3196
3197         Port view-source to new parser
3198         https://bugs.webkit.org/show_bug.cgi?id=43746
3199
3200         This patch switches the view-source mode for frames over to using the
3201         new HTML parsing infrastructure.  This patch is an architectural change
3202         to how we parser view source documents.
3203
3204         Previously, the LegacyHTMLDocumentParser would output a "guide string"
3205         that consided of the inter-attribute whitespace and various "control"
3206         characters.  The HTMLViewSourceDocument would then interpret this guide
3207         string to approximately reconstruct the source of the original document
3208         and colorize various syntatic constructs.
3209
3210         Unfortunately, that approach is inherently low-fidelity.  It's not
3211         really feasible to reconstruct the input document from the token
3212         stream.  The old view source mode also had a number of hacks in the old
3213         parser (e.g., to turn of decoding of HTML entities).
3214
3215         Instead of trying to reconstruct the original document from the token
3216         stream, we use the segmentation information given by the tokens to
3217         colorize the input document itself.  Each token now caries information
3218         about where in the input stream it came from and where various
3219         subcomponents (e.g., attribute names and values) are located.  This
3220         approach is higher fidelity because we use this segmentation
3221         information to colorize the original input instead of attempting to
3222         reconstruct the original input.
3223
3224         * Android.mk:
3225         * CMakeLists.txt:
3226         * GNUmakefile.am:
3227         * WebCore.gypi:
3228         * WebCore.pro:
3229         * WebCore.vcproj/WebCore.vcproj:
3230         * WebCore.xcodeproj/project.pbxproj:
3231         * html/HTMLDocumentParser.cpp:
3232         * html/HTMLToken.h:
3233         (WebCore::HTMLToken::clear):
3234         (WebCore::HTMLToken::startIndex):
3235         (WebCore::HTMLToken::length):
3236         (WebCore::HTMLToken::end):
3237         * html/HTMLViewSourceDocument.cpp:
3238         (WebCore::HTMLViewSourceDocument::createParser):
3239         (WebCore::HTMLViewSourceDocument::addSource):
3240         (WebCore::HTMLViewSourceDocument::processDoctypeToken):
3241         (WebCore::HTMLViewSourceDocument::processTagToken):
3242         (WebCore::HTMLViewSourceDocument::processCommentToken):
3243         (WebCore::HTMLViewSourceDocument::processCharacterToken):
3244         (WebCore::HTMLViewSourceDocument::addRange):
3245         * html/HTMLViewSourceDocument.h:
3246         * html/HTMLViewSourceParser.cpp: Added.
3247         (WebCore::HTMLViewSourceParser::~HTMLViewSourceParser):
3248         (WebCore::HTMLViewSourceParser::insert):
3249         (WebCore::HTMLViewSourceParser::pumpTokenizer):
3250         (WebCore::HTMLViewSourceParser::append):
3251         (WebCore::HTMLViewSourceParser::sourceForToken):
3252         (WebCore::HTMLViewSourceParser::updateTokenizerState):
3253         (WebCore::HTMLViewSourceParser::finish):
3254         (WebCore::HTMLViewSourceParser::finishWasCalled):
3255         * html/HTMLViewSourceParser.h: Added.
3256         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
3257         (WebCore::HTMLViewSourceParser::document):
3258         * html/LegacyHTMLDocumentParser.cpp:
3259         (WebCore::LegacyHTMLDocumentParser::processToken):
3260         (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
3261
3262 2010-08-11  Yoshiki Hayashi  <yhayashi@google.com>
3263
3264         Reviewed by Shinichiro Hamaji.
3265
3266         Make form controls, textarea, legend and datagrid treat width:
3267         auto as specified in stretching vertical flexbox.  Otherwise it's
3268         treated as intrinsic as before.
3269         https://bugs.webkit.org/show_bug.cgi?id=17918
3270
3271         Test: fast/flexbox/vertical-box-form-controls.html
3272
3273         * css/CSSStyleSelector.cpp:
3274         (WebCore::CSSStyleSelector::adjustRenderStyle):
3275         * rendering/RenderBox.cpp:
3276         (WebCore::RenderBox::sizesToIntrinsicWidth):
3277
3278 2010-08-10  Darin Adler  <darin@apple.com>
3279
3280         Reviewed by Sam Weinig.
3281
3282         Add leakRef and clear to all RefPtr variants
3283         https://bugs.webkit.org/show_bug.cgi?id=42389
3284
3285         * platform/win/COMPtr.h: Changed all uses of "template <...>" to instead do
3286         "template<...>". Defined many of the inlined functions outside the class
3287         definition, to avoid style checker warnings about multiple statements on
3288         a single line and for slightly better clarity of the class definition itself.
3289         Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we
3290         don't have to rename all callers at once. Added a clear function. Changed
3291         the hash table code so it doesn't need to call releaseRef, and so it uses
3292         the hash table deleted value hooks already present within the class.
3293
3294 2010-08-10  Ariya Hidayat  <ariya@sencha.com>
3295
3296         [Qt] Fix build warning: remove reference to html/BlobRegistryImp.h
3297
3298         * WebCore.pro:
3299
3300 2010-08-10  Alexey Proskuryakov  <ap@apple.com>
3301
3302         Reviewed by Darin Adler.
3303
3304         https://bugs.webkit.org/show_bug.cgi?id=43803
3305         <rdar://problem/6988023> Only the last Korean character can be shown if font style is enabled while typing (43803)
3306
3307         Test: platform/mac/editing/input/bold-node.html
3308
3309         * editing/Editor.cpp: (WebCore::Editor::setComposition): It is not clear to me what the
3310         "baseNode == extentNode" check is about in this function , but let's try to make it more
3311         likely that it passes.
3312
3313 2010-08-10  Hayato Ito  <hayato@chromium.org>
3314
3315         Reviewed by Kent Tamura.
3316
3317         Make CSSSelector::specificity() non-recursive.
3318         https://bugs.webkit.org/show_bug.cgi?id=43784
3319
3320         This change is one of the required changes to fix the following master bug:
3321         https://bugs.webkit.org/show_bug.cgi?id=42806
3322
3323         No functional change, thus no tests.
3324
3325         * css/CSSSelector.cpp:
3326         (WebCore::CSSSelector::specificity):
3327         (WebCore::CSSSelector::specificityForOneSelector):
3328         (WebCore::CSSSelector::specificityForPage):
3329         * css/CSSSelector.h:
3330
3331 2010-08-10  Matthew Delaney  <mdelaney@apple.com>
3332
3333         Reviewed by Darin Adler.
3334
3335         2d.path.clip.empty.html test is failing
3336         https://bugs.webkit.org/show_bug.cgi?id=43161
3337
3338         * platform/graphics/cg/GraphicsContextCG.cpp:
3339         (WebCore::GraphicsContext::clip):
3340         Catching the empty path case from being sent directly to 
3341         CGContextClip - which would ignore it. Instead, using 
3342         CGContextClip with a CGRectZero to achieve the desired
3343         behavior of reducing the clipping region to nothing.
3344
3345 2010-08-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3346
3347         Reviewed by Antonio Gomes.
3348
3349         [EFL] Add video files to enable video in WebKit EFL
3350         https://bugs.webkit.org/show_bug.cgi?id=43790
3351
3352         Add files regarding html5 video to CMakeList.txt for WebKit Efl.
3353         But, this patch is not run html5 video on WebKit EFL yet.
3354
3355         * CMakeLists.txt: Add files related to html5video.
3356         * platform/efl/LocalizedStringsEfl.cpp: Add functions for html5 video.
3357         (WebCore::localizedMediaControlElementString):
3358         (WebCore::localizedMediaControlElementHelpText):
3359         (WebCore::localizedMediaTimeDescription):
3360         * platform/graphics/MediaPlayer.cpp:
3361         (WebCore::installedMediaEngines): Disable MediaPlayerPrivate::r
3362       egisterMediaEngine for WebKit EFL.
3363
3364 2010-08-10  Patrick Gansterer  <paroga@paroga.com>
3365
3366         Reviewed by Nikolas Zimmermann.
3367
3368         Add a toRenderSVGImage function
3369         https://bugs.webkit.org/show_bug.cgi?id=43789
3370
3371         Add a function for casting to RenderSVGImage and use it.
3372
3373         * rendering/RenderSVGImage.h:
3374         (WebCore::toRenderSVGImage):
3375         * rendering/RenderTreeAsText.cpp:
3376         (WebCore::write):
3377         * rendering/SVGRenderTreeAsText.cpp:
3378         (WebCore::writeSVGImage):
3379         * rendering/SVGRenderTreeAsText.h:
3380         * svg/SVGImageElement.cpp:
3381         (WebCore::SVGImageElement::attach):
3382
3383 2010-08-10  Adam Barth  <abarth@webkit.org>
3384
3385         Reviewed by Eric Seidel.
3386
3387         Clients of HTMLTokenizer should be able to see where characters went in the token
3388         https://bugs.webkit.org/show_bug.cgi?id=43766
3389
3390         When viewing the source of a document, we want to colorize different
3391         parts of the input depending on how they were tokenized.  In this
3392         patch, we expose the internal segmentation of a token by recording the
3393         start and end offsets for each attribute name and each attribute value.
3394
3395         * html/HTMLToken.h:
3396         (WebCore::HTMLToken::addNewAttribute):
3397         (WebCore::HTMLToken::beginAttributeName):
3398         (WebCore::HTMLToken::endAttributeName):
3399         (WebCore::HTMLToken::beginAttributeValue):
3400         (WebCore::HTMLToken::endAttributeValue):
3401         (WebCore::HTMLToken::appendToAttributeName):
3402         (WebCore::HTMLToken::appendToAttributeValue):
3403         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3404         * html/HTMLTokenizer.cpp:
3405         (WebCore::HTMLTokenizer::nextToken):
3406
3407 2010-08-10  Dumitru Daniliuc  <dumi@chromium.org>
3408
3409         Reviewed by David Levin.
3410
3411         Do not post a sync task to the DB thread if it's terminating.
3412         https://bugs.webkit.org/show_bug.cgi?id=43676
3413
3414         * bindings/generic/ActiveDOMCallback.cpp: The context can
3415         sometimes be NULL. Check if it's NULL instead of asserting that
3416         it's not.
3417         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
3418         * dom/ActiveDOMObject.cpp:
3419         (WebCore::ActiveDOMObject::ActiveDOMObject):
3420
3421         * storage/Database.cpp: Do not post a sync task to the DB thread
3422         if the DB thread is terminating. Also, when a task is destroyed,
3423         ASSERT that it was completed, or that it had no synchronizer.
3424         (WebCore::Database::openAndVerifyVersion):
3425         (WebCore::Database::markAsDeletedAndClose):
3426         (WebCore::Database::tableNames):
3427         * storage/DatabaseTask.cpp:
3428         (WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer):
3429         (WebCore::DatabaseTask::~DatabaseTask):
3430         (WebCore::DatabaseTask::performTask):
3431         * storage/DatabaseTask.h:
3432         (WebCore::DatabaseTaskSynchronizer::hasCheckedForTermination):
3433         (WebCore::DatabaseTaskSynchronizer::setHasCheckedForTermination):
3434         (WebCore::DatabaseTask::hasSynchronizer):
3435         (WebCore::DatabaseTask::hasCheckedForTermination):
3436         * storage/DatabaseThread.cpp:
3437         (WebCore::DatabaseThread::terminationRequested):
3438         (WebCore::DatabaseThread::scheduleTask):
3439         (WebCore::DatabaseThread::scheduleImmediateTask):
3440         * storage/DatabaseThread.h:
3441
3442 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
3443
3444         Qt build fix.
3445
3446         * bridge/qt/qt_runtime.cpp:
3447         (JSC::Bindings::convertValueToQVariant):
3448
3449 2010-08-10  Jian Li  <jianli@chromium.org>
3450
3451         Fix more build break.
3452
3453         * bindings/v8/SerializedScriptValue.cpp:
3454         (WebCore::ZigZag::Reader::readBlob):
3455         (WebCore::ZigZag::Reader::readFile):
3456         * dom/ScriptExecutionContext.cpp:
3457         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3458         (WebCore::ScriptExecutionContext::revokeBlobURL):
3459         * dom/ScriptExecutionContext.h:
3460         * html/Blob.cpp:
3461         (WebCore::Blob::slice):
3462
3463 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
3464
3465         Rubber stamped by Sam Weinig
3466
3467         Bug 43817 - Remove UString::Rep
3468         UString::Rep has for a long time been replaced by UStringImpl (Rep
3469         remaining as a typedef).  UStringImpl has since been removed too
3470         (unified with StringImpl). Remove Rep, rename rep() to impl() and
3471         m_rep to m_impl.  Also add impl() method to Identifier, and rename
3472         its UString member from _ustring to m_string.
3473
3474         * bindings/js/JSDOMBinding.cpp:
3475         (WebCore::findAtomicString):
3476         * bindings/js/JSDOMBinding.h:
3477         (WebCore::ustringToString):
3478         (WebCore::identifierToString):
3479         (WebCore::ustringToAtomicString):
3480         (WebCore::identifierToAtomicString):
3481         * bindings/js/SerializedScriptValue.h:
3482         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
3483         * bridge/IdentifierRep.cpp:
3484         (WebCore::IdentifierRep::get):
3485         * bridge/c/c_class.cpp:
3486         (JSC::Bindings::CClass::methodsNamed):
3487         (JSC::Bindings::CClass::fieldNamed):
3488         * bridge/jni/jsc/JavaClassJSC.cpp:
3489         (JavaClass::JavaClass):
3490         (JavaClass::methodsNamed):
3491         (JavaClass::fieldNamed):
3492         * bridge/jni/jsc/JavaStringJSC.h:
3493         (JSC::Bindings::JavaStringImpl::~JavaStringImpl):
3494         (JSC::Bindings::JavaStringImpl::init):
3495         (JSC::Bindings::JavaStringImpl::UTF8String):
3496         (JSC::Bindings::JavaStringImpl::uchars):
3497         (JSC::Bindings::JavaStringImpl::length):
3498         (JSC::Bindings::JavaStringImpl::uString):
3499         * bridge/jsc/BridgeJSC.h:
3500
3501 2010-08-10  Jian Li  <jianli@chromium.org>
3502
3503         Fix qt build break.
3504
3505         * html/BlobRegistryImpl.cpp:
3506         * html/BlobRegistryImpl.h:
3507         * html/BlobURL.cpp:
3508         * html/BlobURL.h:
3509         * platform/BlobRegistry.h:
3510
3511 2010-08-10  Jian Li  <jianli@chromium.org>
3512
3513         Reviewed by David Levin.
3514
3515         Add the support to register the blob data.
3516         https://bugs.webkit.org/show_bug.cgi?id=43600
3517
3518         This is the first step towards adding Blob URL support. The blob has
3519         an internal URL (used by FileReader) and public URLs (used by Blob.url).
3520         The URL and its associated data are managed by BlobRegistry interface.
3521
3522         This patch does not remove the usage of BlobItem. It will be removed
3523         when all the blob data support is hooked up and the new tests will be
3524         added then.
3525
3526         * CMakeLists.txt:
3527         * GNUmakefile.am:
3528         * WebCore.gypi:
3529         * WebCore.pro:
3530         * WebCore.vcproj/WebCore.vcproj:
3531         * WebCore.xcodeproj/project.pbxproj:
3532         * bindings/js/SerializedScriptValue.cpp:
3533         (WebCore::SerializedBlob::create):
3534         (WebCore::SerializedBlob::url):
3535         (WebCore::SerializedBlob::type):
3536         (WebCore::SerializedBlob::size):
3537         (WebCore::SerializedBlob::SerializedBlob):
3538         (WebCore::SerializedFile::create):
3539         (WebCore::SerializedFile::path):
3540         (WebCore::SerializedFile::url):
3541         (WebCore::SerializedFile::type):
3542         (WebCore::SerializedFile::SerializedFile):
3543         (WebCore::SerializedFileList::item):
3544         (WebCore::SerializedFileList::SerializedFileList):
3545         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
3546         (WebCore::SharedSerializedData::asBlob):
3547         (WebCore::SharedSerializedData::asFile):
3548         (WebCore::SerializingTreeWalker::convertIfTerminal):
3549         (WebCore::DeserializingTreeWalker::convertIfTerminal):
3550         (WebCore::TeardownTreeWalker::convertIfTerminal):
3551         * bindings/js/SerializedScriptValue.h:
3552         (WebCore::SerializedScriptValueData::):
3553         (WebCore::SerializedScriptValueData::asString):
3554         (WebCore::SerializedScriptValueData::asBlob):
3555         (WebCore::SerializedScriptValueData::asFile):
3556         * bindings/v8/SerializedScriptValue.cpp:
3557         (WebCore::ZigZag::Writer::writeBlob):
3558         (WebCore::ZigZag::Writer::writeFile):
3559         (WebCore::ZigZag::Writer::writeFileList):
3560         (WebCore::ZigZag::Writer::doWriteUintHelper):
3561         (WebCore::ZigZag::Writer::doWriteUint32):
3562         (WebCore::ZigZag::Writer::doWriteUint64):
3563         (WebCore::ZigZag::Serializer::writeBlob):
3564         (WebCore::ZigZag::Serializer::writeFile):
3565         (WebCore::ZigZag::Reader::readBlob):
3566         (WebCore::ZigZag::Reader::readFile):
3567         (WebCore::ZigZag::Reader::readFileList):
3568         (WebCore::ZigZag::Reader::doReadUintHelper):
3569         (WebCore::ZigZag::Reader::doReadUint32):
3570         (WebCore::ZigZag::Reader::doReadUint64):
3571         * dom/ScriptExecutionContext.cpp:
3572         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3573         (WebCore::ScriptExecutionContext::trackBlobURL):
3574         (WebCore::ScriptExecutionContext::revokeBlobURL):
3575         * dom/ScriptExecutionContext.h:
3576         * html/Blob.cpp:
3577         (WebCore::Blob::Blob):
3578         (WebCore::Blob::~Blob):
3579         (WebCore::Blob::createPublicURL):
3580         * html/Blob.h:
3581         (WebCore::Blob::create):
3582         (WebCore::Blob::url):
3583         * html/BlobRegistryImpl.cpp: Added.
3584         * html/BlobRegistryImpl.h: Added.
3585         * html/BlobStorageData.h: Added.
3586         * html/BlobURL.cpp: Added.
3587         * html/BlobURL.h: Added.
3588         * html/File.cpp:
3589         (WebCore::File::File):
3590         * html/File.h:
3591         (WebCore::File::create):
3592         * platform/BlobData.cpp: Added.
3593         * platform/BlobData.h: Added.
3594         * platform/BlobRegistry.h: Added.
3595
3596 2010-08-10  Adam Barth  <abarth@webkit.org>
3597
3598         Reviewed by Eric Seidel.
3599
3600         SegmentedString should keep track of how many characters it consumes
3601         https://bugs.webkit.org/show_bug.cgi?id=43765
3602
3603</