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