Web Inspector: further align front-end configurations: get rid of saveAsAvailable...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-12-01  Pavel Feldman  <pfeldman@google.com>
2
3         Web Inspector: further align front-end configurations: get rid of saveAsAvailable preference, inline drag glass pane.
4         https://bugs.webkit.org/show_bug.cgi?id=73555
5
6         Reviewed by Yury Semikhatsky.
7
8         * inspector/InspectorFrontendClient.h:
9         * inspector/InspectorFrontendClientLocal.h:
10         (WebCore::InspectorFrontendClientLocal::canSaveAs):
11         * inspector/InspectorFrontendHost.cpp:
12         (WebCore::InspectorFrontendHost::canSaveAs):
13         * inspector/InspectorFrontendHost.h:
14         * inspector/InspectorFrontendHost.idl:
15         * inspector/front-end/ExtensionServer.js:
16         (WebInspector.ExtensionServer.prototype.hasExtensions):
17         * inspector/front-end/InspectorFrontendHostStub.js:
18         (.WebInspector.InspectorFrontendHostStub.prototype.canSaveAs):
19         * inspector/front-end/NetworkPanel.js:
20         (WebInspector.NetworkLogView.prototype._contextMenu):
21         * inspector/front-end/ResourcesPanel.js:
22         * inspector/front-end/Settings.js:
23         * inspector/front-end/SettingsScreen.js:
24         (WebInspector.SettingsScreen):
25         * inspector/front-end/StylesSidebarPane.js:
26         * inspector/front-end/UIUtils.js:
27         (WebInspector.elementDragStart):
28         (WebInspector.elementDragEnd):
29
30 2011-12-01  Pavel Feldman  <pfeldman@google.com>
31
32         Web Inspector: extract static part of the InspectorBackend from the generator.
33         https://bugs.webkit.org/show_bug.cgi?id=73562
34
35         Reviewed by Timothy Hatcher.
36
37         We should only generate the mapping between the command parameters and slots,
38         rest of the backend is static.
39
40         * WebCore.gypi:
41         * WebCore.vcproj/WebCore.vcproj:
42         * inspector/CodeGeneratorInspector.py:
43         (Generator.go):
44         (Generator.process_event):
45         (Generator.process_command):
46         * inspector/compile-front-end.sh:
47         * inspector/front-end/InspectorBackend.js: Added.
48         (InspectorBackendClass):
49         (InspectorBackendClass.prototype.registerCommand):
50         (InspectorBackendClass.prototype.registerEvent):
51         (InspectorBackendClass.prototype._invoke):
52         (InspectorBackendClass.prototype._sendMessageToBackend):
53         (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject):
54         (InspectorBackendClass.prototype.sendMessageObjectToBackend):
55         (InspectorBackendClass.prototype.registerDomainDispatcher):
56         (InspectorBackendClass.prototype.dispatch.messageObject.error.__proto__.getDescription):
57         (InspectorBackendClass.prototype.dispatch.messageObject.error.__proto__.toString):
58         (InspectorBackendClass.prototype.dispatch.messageObject.error.__proto__.getMessage):
59         (InspectorBackendClass.prototype.dispatch):
60         (InspectorBackendClass.prototype.reportProtocolError):
61         (InspectorBackendClass.prototype.runAfterPendingDispatches):
62         * inspector/front-end/WebKit.qrc:
63         * inspector/front-end/inspector.html:
64
65 2011-12-01  Kentaro Hara  <haraken@chromium.org>
66
67         Use the [Supplemental] IDL for webaudio attributes in Chromium
68         https://bugs.webkit.org/show_bug.cgi?id=73394
69
70         Reviewed by Adam Barth.
71
72         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
73         declarations of webaudio from DOMWindow.idl into a new IDL file
74         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
75         feature (aka a module).
76
77         - This patch changes the build flow of WebCore.gyp as follows:
78
79             Previous build flow:
80                 foreach $idl (all IDL files) {
81                     generate-bindings.pl depends on $idl;
82                     generate-bindings.pl reads $idl;
83                     generate-bindings.pl generates .h and .cpp files for $idl;
84                 }
85
86             New build flow (See the discussions in bug 72138 for more details):
87                 resolve-supplemental.pl depends on all IDL files;
88                 resolve-supplemental.pl reads all IDL files;
89                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
90                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
91                 foreach $idl (all IDL files) {
92                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
93                     generate-bindings.pl reads $idl;
94                     generate-bindings.pl reads supplemental_dependency.tmp;
95                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
96                 }
97
98         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
99         will be removed after build scripts for all platforms support the [Supplemental] IDL.
100         The motivation for the [Supplemented] IDL is as follows:
101
102         In order to support the [Supplemental] IDL, we need to
103         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
104         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
105
106         This build flow requires a change on the following build scripts,
107         but changing all the build scripts all at once without any regression is too difficult:
108
109             - DerivedSources.make
110             - DerivedSources.pri
111             - GNUmakefile.am
112             - PlatformBlackBerry.cmake
113             - UseJSC.cmake
114             - UseV8.cmake
115             - WebCore.vcproj/MigrateScripts
116             - WebCore.vcproj/WebCore.vcproj
117             - bindings/gobject/GNUmakefile.am
118             - WebCore.gyp/WebCore.gyp
119
120         Thus, we are planning to change the build scripts one by one, which implies that
121         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
122         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
123         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
124         in another IDL file somewhere, like this:
125
126             DOMWindowWebAudio.idl:
127                 interface [
128                     Supplemental=DOMWindow
129                 ] DOMWindowWebAudio {
130                     attribute attr1;
131                     attribute attr2;
132                 };
133
134             DOMWindow.idl:
135                 interface [
136                 ] DOMWindow {
137                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
138                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
139                     attribute attr3;
140                     attribute attr4;
141                 };
142
143         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
144
145             - If a given build script supports the [Supplemental] IDL,
146             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
147             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
148             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
149             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
150
151         Tests: webaudio/*
152
153         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
154         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
155         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
156         * WebCore.gypi: Added DOMWindowWebAudio.idl.
157         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
158         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
159         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
160
161 2011-12-01  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
162
163         Upstream credential storage files of BlackBerry porting
164         https://bugs.webkit.org/show_bug.cgi?id=73280
165
166         Reviewed by Rob Buis.
167
168         Added the basic structure of class CredentialBackingStore
169         to persist the credential data, and generated
170         platform/network/blackberry/CredentialStorageBlackBerry.cpp,
171         to implement CredentialStorage::getFromPersistentStorage
172         for BlackBerry porting.
173         Contributed by Torch Team.
174
175         * platform/network/blackberry/CredentialBackingStore.cpp: Added.
176         (WebCore::CredentialBackingStore::instance):
177         (WebCore::CredentialBackingStore::CredentialBackingStore):
178         (WebCore::CredentialBackingStore::~CredentialBackingStore):
179         (WebCore::CredentialBackingStore::open):
180         (WebCore::CredentialBackingStore::close):
181         (WebCore::CredentialBackingStore::addLogin):
182         (WebCore::CredentialBackingStore::updateLogin):
183         (WebCore::CredentialBackingStore::hasLogin):
184         (WebCore::CredentialBackingStore::getLogin):
185         (WebCore::CredentialBackingStore::removeLogin):
186         (WebCore::CredentialBackingStore::clear):
187         (WebCore::CredentialBackingStore::encryptedString):
188         (WebCore::CredentialBackingStore::decryptedString):
189         * platform/network/blackberry/CredentialBackingStore.h: Added.
190         * platform/network/blackberry/CredentialStorageBlackBerry.cpp: Added.
191         (WebCore::CredentialStorage::getFromPersistentStorage):
192
193 2011-11-30  Andreas Kling  <kling@webkit.org>
194
195         StyledElement: Tidy up copyNonAttributeProperties().
196         <http://webkit.org/b/73501>
197
198         Reviewed by Antti Koivisto.
199
200         * css/CSSStyleDeclaration.h:
201
202             Made CSSStyleDeclaration non-copyable.
203
204         * css/CSSMutableStyleDeclaration.h:
205         * css/CSSMutableStyleDeclaration.cpp:
206         (WebCore::CSSMutableStyleDeclaration::copyPropertiesFrom):
207
208             copyPropertiesAndStrictnessFrom() redone as copyPropertiesFrom()
209             since we can copy the strictness bit using existing accessors.
210
211         * dom/StyledElement.cpp:
212         (WebCore::StyledElement::copyNonAttributeProperties):
213
214             Use copyPropertiesFrom() and copy the strictness bit to the new
215             inline style using the dedicated accessors. Also added some
216             assertions for good measure.
217
218 2011-12-01  Kentaro Hara  <haraken@chromium.org>
219
220         run-bindings-tests is failing on Gtk/Qt/SnowLeopard/Lion bots
221         https://bugs.webkit.org/show_bug.cgi?id=73558
222
223         Reviewed by Csaba Osztrogonác.
224
225         The cause of the bug:
226
227         foreach my $idlFile (keys %documents) {
228             $supplementals{$idlFile} = [];
229             foreach my $dataNode (...) {
230                 if (...) {
231                     ...;
232                     push(@{$supplementals{$targetIdlFile}}, $idlFile);
233                     ...;
234                 }
235             }
236         }
237
238         Even if we did push(@{$supplementals{$targetIdlFile}}, $idlFile),
239         the $supplementals{$targetIdlFile} can be re-initialized by
240         $supplementals{$idlFile} = [] in subsequent loops.
241         This patch fixes the bug.
242
243         Tests: bindings/scripts/test/TestInterface.idl
244
245         * bindings/scripts/resolve-supplemental.pl:
246
247 2011-12-01  Pavel Feldman  <pfeldman@chromium.org>
248
249         Web Inspector: restore WebKit2 Safari menu items after capabilities refactoring regression.
250         https://bugs.webkit.org/show_bug.cgi?id=73554
251
252         Reviewed by Yury Semikhatsky.
253
254         * inspector/InspectorFrontendClientLocal.cpp:
255         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
256         (WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
257         (WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
258         (WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
259         (WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
260         (WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
261         (WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
262         (WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
263         (WebCore::InspectorFrontendClientLocal::showConsole):
264         (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
265         * inspector/InspectorFrontendClientLocal.h:
266         * inspector/front-end/InspectorFrontendAPI.js:
267         (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
268         (InspectorFrontendAPI.setDebuggingEnabled):
269         (InspectorFrontendAPI.isTimelineProfilingEnabled):
270         (InspectorFrontendAPI.setTimelineProfilingEnabled):
271         (InspectorFrontendAPI.isProfilingJavaScript):
272         (InspectorFrontendAPI.startProfilingJavaScript):
273         (InspectorFrontendAPI.stopProfilingJavaScript):
274         (InspectorFrontendAPI.setAttachedWindow):
275         (InspectorFrontendAPI.showConsole):
276         (InspectorFrontendAPI.dispatch):
277         (InspectorFrontendAPI.loadCompleted):
278         * inspector/front-end/inspector.js:
279
280 2011-12-01  Pavel Feldman  <pfeldman@google.com>
281
282         Web Inspector: remove capabilities along with the MetaAgent
283         https://bugs.webkit.org/show_bug.cgi?id=73550
284
285         Reviewed by Yury Semikhatsky.
286
287         We are now using explicit query commands in order to find out about the capabilities.
288
289         * CMakeLists.txt:
290         * GNUmakefile.list.am:
291         * Target.pri:
292         * WebCore.gypi:
293         * WebCore.vcproj/WebCore.vcproj:
294         * WebCore.xcodeproj/project.pbxproj:
295         * inspector/CodeGeneratorInspector.py:
296         (Generator.go):
297         * inspector/Inspector.json:
298         * inspector/InspectorController.cpp:
299         (WebCore::InspectorController::InspectorController):
300         * inspector/InspectorMetaAgent.cpp: Removed.
301         * inspector/InspectorMetaAgent.h: Removed.
302         * inspector/generate-protocol-externs:
303
304 2011-12-01  Pavel Feldman  <pfeldman@google.com>
305
306         Web Inspector: front-end should open with elements panel selected upon Inspect Element action.
307         https://bugs.webkit.org/show_bug.cgi?id=73539
308
309         Reviewed by Yury Semikhatsky.
310
311         * inspector/front-end/inspector.js:
312         (WebInspector.doLoadedDone.showInitialPanel):
313         (WebInspector.inspect):
314
315 2011-11-30  Vsevolod Vlasov  <vsevik@chromium.org>
316
317         Web Inspector: totalOffsetLeft and totalOffsetTop should take scroll into account.
318         https://bugs.webkit.org/show_bug.cgi?id=73443
319
320         Reviewed by Pavel Feldman.
321
322         * inspector/front-end/TextPrompt.js:
323         (WebInspector.TextPrompt.prototype._boxForAnchorAtStart):
324         (WebInspector.TextPrompt.SuggestBox):
325         * inspector/front-end/utilities.js:
326         (Element.prototype.totalOffsetLeft):
327         (Element.prototype.totalOffsetTop):
328         (Element.prototype.boxInWindow):
329
330 2011-12-01  Pavel Feldman  <pfeldman@google.com>
331
332         Web Inspector: query backend for capabilities explicitly.
333         https://bugs.webkit.org/show_bug.cgi?id=73442
334
335         Reviewed by Yury Semikhatsky.
336
337         This change removes the hardcoded Capabilities values in favor of
338         explicit query commands issued against the backend. I'll remove the
339         Meta agent in a subsequent change.
340
341         * bindings/js/ScriptDebugServer.h:
342         (WebCore::ScriptDebugServer::causesRecompilation):
343         (WebCore::ScriptDebugServer::supportsNativeBreakpoints):
344         * bindings/js/ScriptProfiler.h:
345         (WebCore::ScriptProfiler::causesRecompilation):
346         (WebCore::ScriptProfiler::isSampling):
347         (WebCore::ScriptProfiler::hasHeapProfiler):
348         * bindings/v8/ScriptDebugServer.h:
349         (WebCore::ScriptDebugServer::causesRecompilation):
350         (WebCore::ScriptDebugServer::supportsNativeBreakpoints):
351         * bindings/v8/ScriptProfiler.h:
352         (WebCore::ScriptProfiler::causesRecompilation):
353         (WebCore::ScriptProfiler::isSampling):
354         (WebCore::ScriptProfiler::hasHeapProfiler):
355         * inspector/Inspector.json:
356         * inspector/InspectorClient.h:
357         (WebCore::InspectorClient::canClearBrowserCache):
358         (WebCore::InspectorClient::canClearBrowserCookies):
359         * inspector/InspectorController.cpp:
360         (WebCore::InspectorController::InspectorController):
361         (WebCore::InspectorController::connectFrontend):
362         (WebCore::InspectorController::show):
363         * inspector/InspectorController.h:
364         * inspector/InspectorDebuggerAgent.cpp:
365         (WebCore::InspectorDebuggerAgent::causesRecompilation):
366         (WebCore::InspectorDebuggerAgent::canSetScriptSource):
367         (WebCore::InspectorDebuggerAgent::supportsNativeBreakpoints):
368         * inspector/InspectorDebuggerAgent.h:
369         * inspector/InspectorFrontendClientLocal.cpp:
370         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
371         * inspector/InspectorProfilerAgent.cpp:
372         (WebCore::InspectorProfilerAgent::causesRecompilation):
373         (WebCore::InspectorProfilerAgent::isSampling):
374         (WebCore::InspectorProfilerAgent::hasHeapProfiler):
375         (WebCore::InspectorProfilerAgent::disable):
376         (WebCore::InspectorProfilerAgent::enable):
377         (WebCore::InspectorProfilerAgent::setFrontend):
378         * inspector/InspectorProfilerAgent.h:
379         * inspector/InspectorResourceAgent.cpp:
380         (WebCore::InspectorResourceAgent::canClearBrowserCache):
381         (WebCore::InspectorResourceAgent::canClearBrowserCookies):
382         * inspector/InspectorResourceAgent.h:
383         * inspector/front-end/DebuggerModel.js:
384         (WebInspector.DebuggerModel):
385         (WebInspector.DebuggerModel.prototype.enableDebugger):
386         (WebInspector.DebuggerModel.prototype.canSetScriptSource):
387         * inspector/front-end/NetworkItemView.js:
388         (WebInspector.NetworkItemView):
389         * inspector/front-end/NetworkPanel.js:
390         (WebInspector.NetworkLogView.onCanClearBrowserCache):
391         (WebInspector.NetworkLogView.onCanClearBrowserCookies):
392         (WebInspector.NetworkLogView):
393         (WebInspector.NetworkLogView.prototype._contextMenu):
394         * inspector/front-end/ProfilesPanel.js:
395         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
396         * inspector/front-end/ScriptsPanel.js:
397         * inspector/front-end/Settings.js:
398         * inspector/front-end/SettingsScreen.js:
399         (WebInspector.SettingsScreen):
400         * inspector/front-end/inspector.js:
401         (WebInspector.get inspectedPageDomain):
402         (WebInspector._initializeCapability):
403         (WebInspector.doLoadedDone):
404
405 2011-11-28  Hans Wennborg  <hans@chromium.org>
406
407         IndexedDB: Fix reverse cursor with non-existent upper bound
408         https://bugs.webkit.org/show_bug.cgi?id=73220
409
410         Reviewed by Tony Chang.
411
412         The code previously did not properly handle the case where the
413         specified upper bound for a reverse cursor did not exist.
414
415         Test: storage/indexeddb/cursor-reverse-bug.html
416
417         * storage/IDBLevelDBBackingStore.cpp:
418         (WebCore::findGreatestKeyLessThanOrEqual):
419         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
420         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
421         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
422
423 2011-11-29  Hans Wennborg  <hans@chromium.org>
424
425         IndexedDB: Cursor pre-fetching
426         https://bugs.webkit.org/show_bug.cgi?id=73025
427
428         Reviewed by Darin Fisher.
429
430         No new tests. This doesn't change any semantics.
431         Actual pre-fetching will not happen in DumpRenderTree.
432         Chromium will request pre-fetching and have tests for it.
433
434         * storage/IDBBackingStore.h:
435         * storage/IDBCallbacks.h:
436         * storage/IDBCursor.cpp:
437         (WebCore::IDBCursor::continueFunction):
438         (WebCore::IDBCursor::postSuccessHandlerCallback):
439           Adds a callback that is called everytime the onsuccess handler has
440           executed on a cursor. This allows the cursor to see if a new call
441           to continue() was made in the onsuccess handler.
442         * storage/IDBCursor.h:
443         * storage/IDBCursorBackendImpl.cpp:
444         (WebCore::IDBCursorBackendImpl::continueFunction):
445         (WebCore::IDBCursorBackendImpl::prefetchContinue):
446         (WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
447           This is the function that does actual pre-fetching. When called,
448           it will attempt to step the cursor up to n steps and send the
449           results back via the new onSuccessWithPrefetch() callback.
450         (WebCore::IDBCursorBackendImpl::prefetchReset):
451           This resets the cursor to the position it was at before the last
452           prefetch call.
453         * storage/IDBCursorBackendImpl.h:
454         (WebCore::IDBCursorBackendImpl::postSuccessHandlerCallback):
455         * storage/IDBCursorBackendInterface.h:
456         * storage/IDBKey.h:
457         (WebCore::IDBKey::createInvalid):
458         (WebCore::IDBKey::createNumber):
459         (WebCore::IDBKey::createString):
460         (WebCore::IDBKey::createDate):
461         (WebCore::IDBKey::createArray):
462         (WebCore::IDBKey::sizeEstimate):
463         * storage/IDBLevelDBBackingStore.cpp:
464         (WebCore::CursorOptions::CursorImplCommon::CursorImplCommon):
465         (WebCore::CursorOptions::ObjectStoreCursorImpl::clone):
466         (WebCore::CursorOptions::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
467         (WebCore::CursorOptions::IndexKeyCursorImpl::clone):
468         (WebCore::CursorOptions::IndexKeyCursorImpl::IndexKeyCursorImpl):
469         (WebCore::CursorOptions::IndexCursorImpl::clone):
470         (WebCore::CursorOptions::IndexCursorImpl::IndexCursorImpl):
471         * storage/IDBRequest.cpp:
472         (WebCore::IDBRequest::dispatchEvent):
473           Update dispatchEvent() to call the postSuccessHandlerCallback()
474         * storage/IDBRequest.h:
475         (WebCore::IDBRequest::onSuccessWithPrefetch):
476         * storage/IDBTransactionBackendImpl.cpp:
477         (WebCore::IDBTransactionBackendImpl::addPendingEvents):
478           Allow for adding an arbitrary number of extra pending events.
479           When a cursor pre-fetches n elements, the transaction should
480           expect to see n extra onsuccess calls.
481         * storage/IDBTransactionBackendImpl.h:
482         * storage/IDBTransactionBackendInterface.h:
483
484 2011-12-01  Philippe Normand  <pnormand@igalia.com>
485
486         [GTK] WebAudio wav resources access and management
487         https://bugs.webkit.org/show_bug.cgi?id=73080
488
489         Reviewed by Martin Robinson.
490
491         For the uninstalled case we assume the user will set a
492         AUDIO_RESOURCES_PATH environment variable pointing to
493         WebCore/platform/audio/resources.
494
495         * GNUmakefile.am: Install WAV resources.
496         * platform/audio/gtk/AudioBusGtk.cpp:
497         (WebCore::AudioBus::loadPlatformResource): Support for loading
498         uninstalled resources.
499
500 2011-12-01  Florin Malita  <fmalita@google.com>
501
502         SVG Gaussian blur in 1-dimension is incorrect
503         https://bugs.webkit.org/show_bug.cgi?id=73029
504
505         Reviewed by Simon Fraser.
506
507         Ensure that the last blurBox result is stored when applying one-dimensional blurs.
508
509         * platform/graphics/filters/FEGaussianBlur.cpp:
510         (WebCore::FEGaussianBlur::platformApplyGeneric):
511
512 2011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>
513
514         Web Inspector: Elements Panel edit as html looks weird with an arrow inside edit box.
515         https://bugs.webkit.org/show_bug.cgi?id=73462
516
517         Reviewed by Pavel Feldman.
518
519         * inspector/front-end/elementsPanel.css:
520         (#elements-content .editing):
521         (.elements-tree-editor):
522         * inspector/front-end/inspector.css:
523
524 2011-12-01  Alexander Pavlov  <apavlov@chromium.org>
525
526         Web Inspector: [Styles] Exclamation mark hint ignores property case
527         https://bugs.webkit.org/show_bug.cgi?id=73535
528
529         Reviewed by Pavel Feldman.
530
531         * inspector/front-end/StylesSidebarPane.js:
532
533 2011-12-01  Pavel Feldman  <pfeldman@google.com>
534
535         Web Inspector: fix dedicated workers inspection (undefined is not an object).
536         https://bugs.webkit.org/show_bug.cgi?id=73537
537
538         Reviewed by Yury Semikhatsky.
539
540         * inspector/front-end/ResourceTreeModel.js:
541         (WebInspector.ResourceTreeModel.prototype.resourceForURL):
542         * inspector/front-end/WorkerManager.js:
543         (WebInspector.WorkerManager.loadCompleted):
544
545 2011-12-01  Kentaro Hara  <haraken@chromium.org>
546
547         [JSC] When XXXX has a NamedConstructor, window.XXXX should be XXXXConstructor
548         https://bugs.webkit.org/show_bug.cgi?id=73521
549
550         Reviewed by Adam Barth.
551
552         This is a regression caused by a patch of bug 73307.
553         If we replaced a custom constructor of window.XXXX (e.g. XXXX is Audio or Option)
554         with the [NamedConstructor] IDL, fast/js/global-constructors.html,
555         fast/dom/Window/window-properties.html and fast/dom/call-a-constructor-as-a-function.html
556         start to fail in JSC.
557
558         Before a patch of bug 73007: (correct behavior)
559             window.Audio => AudioConstructor
560             window.Option => OptionConstructor
561             window.HTMLAudioElement => HTMLAudioElementConstructor
562             window.HTMLOptionElement => HTMLOptionElementConstructor
563
564         After a patch of bug 73007: (wrong behavior)
565             window.Audio => HTMLAudioElementConstructor
566             window.Option => HTMLOptionElementConstructor
567             window.HTMLAudioElement => HTMLAudioElementConstructor
568             window.HTMLOptionElement => HTMLOptionElementConstructor
569
570         This patch fixes the above behavior.
571
572         Tests: bindings/scripts/test/TestNamedConstructor.idl
573
574         * bindings/scripts/CodeGeneratorJS.pm:
575         (GenerateImplementation):
576         * bindings/scripts/IDLParser.pm:
577         (parseExtendedAttributes):
578         (ParseInterface):
579         * bindings/scripts/test/TestNamedConstructor.idl: The test IDL was wrong. NamedConstructor=XXXX(arguments) is a correct format.
580         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Updated a run-bindings-tests result.
581
582 2011-11-30  David Grogan  <dgrogan@chromium.org>
583
584         Move data in IDBPendingTransactionMonitor from static to
585         ThreadSpecific.
586         https://bugs.webkit.org/show_bug.cgi?id=73389
587
588         IDBPendingTransactionMonitor previously stored transactions in
589         a static member variable so that they could be aborted if they were
590         had no work queued up when leaving script execution.  That was fine when
591         IndexedDB could only be used on the main thread, but is insufficient
592         for IndexedDB on workers.  In addition to not being thread-safe, this
593         caused pending transactions that were created from a worker thread to
594         abort when the main thread left script execution.
595
596         Reviewed by David Levin.
597
598         No new tests - IndexedDB worker tests forthcoming.
599
600         * storage/IDBPendingTransactionMonitor.cpp:
601         (WebCore::transactions):  Create the TLS.  The other methods used to
602         manage the container's memory lifetime but now we just leak it until
603         the thread shuts down in the interest of simpler code.
604         (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
605         (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
606         (WebCore::IDBPendingTransactionMonitor::abortPendingTransactions):
607
608         * storage/IDBPendingTransactionMonitor.h:
609
610 2011-11-30  Leo Yang  <leo.yang@torchmobile.com.cn>
611
612         Upstream platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
613         https://bugs.webkit.org/show_bug.cgi?id=73522
614
615         Reviewed by Daniel Bates.
616
617         Initial upstream, can't be built yet, no new tests.
618
619         * platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp: Added.
620         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
621         (WebCore::NetworkStateNotifier::networkStateChange):
622
623 2011-11-30  David Reveman  <reveman@chromium.org>
624
625         [Chromium] Improve tile invalidation
626         https://bugs.webkit.org/show_bug.cgi?id=71872
627
628         Reviewed by James Robinson.
629
630         Virtualize LayerChromium::setNeedsDisplay so that dirty rectangles can
631         be handled directly by the TiledLayerChromium class. Replace
632         LayerChromium::dirtyRect() with LayerChromium::needsDisplay() and
633         remove unnecessary union of dirty rectangles. By invalidating existing
634         tiles using the initial dirty rectangles instead of their union we
635         avoid a large amount of unnecessary tile updates.
636
637         Update LayerChromiumTest.
638
639         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
640         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
641         * platform/graphics/chromium/ContentLayerChromium.cpp:
642         (WebCore::ContentLayerChromium::paintContentsIfDirty):
643         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
644         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
645         * platform/graphics/chromium/ImageLayerChromium.cpp:
646         (WebCore::ImageLayerChromium::setContents):
647         (WebCore::ImageLayerChromium::paintContentsIfDirty):
648         * platform/graphics/chromium/LayerChromium.cpp:
649         (WebCore::LayerChromium::LayerChromium):
650         (WebCore::LayerChromium::setBounds):
651         (WebCore::LayerChromium::setNeedsDisplayRect):
652         * platform/graphics/chromium/LayerChromium.h:
653         (WebCore::LayerChromium::setNeedsDisplay):
654         (WebCore::LayerChromium::needsDisplay):
655         * platform/graphics/chromium/TiledLayerChromium.cpp:
656         (WebCore::TiledLayerChromium::setNeedsDisplayRect):
657         (WebCore::TiledLayerChromium::invalidateRect):
658         * platform/graphics/chromium/TiledLayerChromium.h:
659         * platform/graphics/chromium/VideoLayerChromium.cpp:
660         (WebCore::VideoLayerChromium::updateCompositorResources):
661         * platform/graphics/chromium/WebGLLayerChromium.cpp:
662         (WebCore::WebGLLayerChromium::updateCompositorResources):
663
664 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
665
666         SocketStreamHandleCFNet doesn't check for proxy errors
667         https://bugs.webkit.org/show_bug.cgi?id=71965
668
669         Reviewed by Darin Adler.
670
671         * platform/network/cf/SocketStreamHandleCFNet.cpp:
672         (WebCore::getStoredCONNECTProxyCredentials): Added a FIXME about retrieving proxy credentials.
673         (WebCore::SocketStreamHandle::addCONNECTCredentials): Added human readable messages to errors,
674         they go to Web Inspector console.
675         (WebCore::SocketStreamHandle::readStreamCallback): Handle proxy response codes other than 200
676         and 407 by failing cleanly.
677
678 2011-11-30  Jeremy Apthorp  <jeremya@google.com>
679
680         When the mouse is dragged out of an :active element, it should lose :hover.
681         https://bugs.webkit.org/show_bug.cgi?id=57206
682
683         Reviewed by Ryosuke Niwa.
684
685         Test: fast/css/hover-active-drag.html
686
687         * page/EventHandler.cpp:
688         (WebCore::EventHandler::handleMouseMoveEvent): Don't mark mouse-drag hit tests read-only, since they no longer are.
689         (WebCore::EventHandler::dragSourceEndedAt): Send a hit test request when the mouse goes up after a drag, so
690         RenderLayer has a chance to update the hover/active status.
691         * rendering/RenderLayer.cpp:
692         (WebCore::RenderLayer::updateHoverActiveState): Only allow the :active state to change on mouse down or mouse up.
693
694 2011-11-30  Hans Muller  <hmuller@adobe.com>
695
696         XHR 'progress' event code assumes wrongly that expectedLength >= 0
697         https://bugs.webkit.org/show_bug.cgi?id=36156
698
699         Reviewed by Alexey Proskuryakov
700
701         Avoid passing a negative value as the dispatchProgressEvent's total parameter and always use 0 when lengthComputable is false.
702
703         Test: http/tests/xmlhttprequest/chunked-progress-event-expectedLength.html
704
705         * xml/XMLHttpRequest.cpp:
706         (WebCore::XMLHttpRequest::didReceiveData):
707
708 2011-11-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
709
710         Unreviewed. Fix build error when NOTIFICATIONS feature is enabled.
711
712         * CMakeLists.txt:
713
714 2011-11-30  Noel Gordon  <noel.gordon@gmail.com>
715
716         Remove ImageFrame::setSize() style nits
717         https://bugs.webkit.org/show_bug.cgi?id=73490
718
719         Reviewed by Andreas Kling.
720
721         Equality comparisons to 0 should be performed with the not operator, write
722         width() == 0 && height() == 0 as !width() && !height().
723
724         No new tests, style refactor.
725
726         * platform/image-decoders/qt/ImageFrameQt.cpp:
727         (WebCore::ImageFrame::setSize):
728         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
729         (WebCore::ImageFrame::setSize):
730
731 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
732
733         Remove an unneeded argument from FrameLoaderClient::download
734         https://bugs.webkit.org/show_bug.cgi?id=73486
735
736         Reviewed by Andreas Kling.
737
738         No change in functionality.
739
740         * loader/FrameLoaderClient.h: Removed initialRequest argument.
741
742         * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy):
743         We're already passing ResourceHandle, why also pass its data member?
744
745         * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::download): Updated for the change.
746
747 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
748
749         Original page URL is not set in quarantine information when downloading using context menu Save Linked File
750         https://bugs.webkit.org/show_bug.cgi?id=73475
751         <rdar://problem/10500337>
752
753         Reviewed by Dan Bernstein.
754
755         * WebCore.exp.in: Exported FrameLoader::setOriginalURLForDownloadRequest.
756
757 2011-11-30  Mark Pilgrim  <pilgrim@chromium.org>
758
759         [FileSystem API] DirectoryEntry.getFile path argument is required
760         https://bugs.webkit.org/show_bug.cgi?id=69642
761
762         Reviewed by Adam Barth.
763
764         Test: fast/filesystem/simple-required-arguments-getfile.html
765
766         * bindings/js/JSDirectoryEntryCustom.cpp:
767         (WebCore::JSDirectoryEntry::getFile): check args length and throw TypeError if not enough arguments
768         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
769         (WebCore::V8DirectoryEntry::getFileCallback): check args length and throw TypeError if not enough arguments
770
771 2011-11-30  Joshua Bell  <jsbell@chromium.org>
772
773         IndexedDB: Implement IDBIndex multientry feature
774         https://bugs.webkit.org/show_bug.cgi?id=73232
775
776         Reviewed by Tony Chang.
777
778         The multientry flag is used when populating indexes, either when the index
779         is created on an existing store or as new values are added to the store.
780         Per the spec the semantics are: if the flag is set and the index key is
781         calculated to be an array, each member of the array is used as an index key
782         instead.
783
784         Test: storage/indexeddb/index-multientry.html
785
786         * storage/IDBBackingStore.h:
787         * storage/IDBIndex.h:
788         (WebCore::IDBIndex::multientry):
789         * storage/IDBIndex.idl:
790         * storage/IDBIndexBackendImpl.cpp:
791         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
792         * storage/IDBIndexBackendImpl.h:
793         (WebCore::IDBIndexBackendImpl::create):
794         (WebCore::IDBIndexBackendImpl::multientry):
795         * storage/IDBIndexBackendInterface.h:
796         * storage/IDBLevelDBBackingStore.cpp:
797         (WebCore::checkIndexAndMetaDataKey):
798         (WebCore::IDBLevelDBBackingStore::getIndexes):
799         (WebCore::IDBLevelDBBackingStore::createIndex):
800         * storage/IDBLevelDBBackingStore.h:
801         * storage/IDBLevelDBCoding.cpp:
802         * storage/IDBObjectStore.cpp:
803         (WebCore::IDBObjectStore::createIndex):
804         * storage/IDBObjectStoreBackendImpl.cpp:
805         (WebCore::IDBObjectStoreBackendImpl::putInternal):
806         (WebCore::IDBObjectStoreBackendImpl::populateIndex):
807         (WebCore::IDBObjectStoreBackendImpl::createIndex):
808         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
809         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
810         * storage/IDBObjectStoreBackendImpl.h:
811         * storage/IDBObjectStoreBackendInterface.h:
812
813 2011-11-30  David Reveman  <reveman@chromium.org>
814
815         [Chromium] Add support for painting into an SkPicture and then rasterizing into tile-sized chunks.
816         https://bugs.webkit.org/show_bug.cgi?id=71388
817
818         Reviewed by James Robinson.
819
820         Add UpdatableTexture class, which allows texture updater to
821         allocate tile specific resources and paint tiles separately.
822         Rename texture uploader classes and move them to separate files.
823
824         No new tests. Covered by existing tests.
825
826         * WebCore.gypi:
827         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Added.
828         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
829         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::~Texture):
830         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
831         (WebCore::BitmapCanvasLayerTextureUpdater::create):
832         (WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
833         (WebCore::BitmapCanvasLayerTextureUpdater::~BitmapCanvasLayerTextureUpdater):
834         (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
835         (WebCore::BitmapCanvasLayerTextureUpdater::sampledTexelFormat):
836         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
837         (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
838         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
839         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::textureUpdater):
840         (WebCore::BitmapCanvasLayerTextureUpdater::orientation):
841         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
842         (WebCore::CanvasLayerTextureUpdater::CanvasLayerTextureUpdater):
843         (WebCore::CanvasLayerTextureUpdater::~CanvasLayerTextureUpdater):
844         (WebCore::CanvasLayerTextureUpdater::paintContents):
845         * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
846         (WebCore::CanvasLayerTextureUpdater::contentRect):
847         * platform/graphics/chromium/ContentLayerChromium.cpp:
848         (WebCore::ContentLayerChromium::createTextureUpdater):
849         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Added.
850         (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
851         (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
852         (WebCore::FrameBuffer::FrameBuffer::initialize):
853         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
854         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::~Texture):
855         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
856         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::create):
857         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::FrameBufferSkPictureCanvasLayerTextureUpdater):
858         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::~FrameBufferSkPictureCanvasLayerTextureUpdater):
859         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
860         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
861         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
862         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
863         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
864         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::orientation):
865         * platform/graphics/chromium/ImageLayerChromium.cpp:
866         (WebCore::ImageLayerTextureUpdater::Texture::Texture):
867         (WebCore::ImageLayerTextureUpdater::Texture::updateRect):
868         (WebCore::ImageLayerTextureUpdater::Texture::textureUpdater):
869         (WebCore::ImageLayerTextureUpdater::createTexture):
870         * platform/graphics/chromium/LayerRendererChromium.cpp:
871         * platform/graphics/chromium/LayerTextureUpdater.h:
872         (WebCore::LayerTextureUpdater::Texture::~Texture):
873         (WebCore::LayerTextureUpdater::Texture::texture):
874         (WebCore::LayerTextureUpdater::Texture::prepareRect):
875         (WebCore::LayerTextureUpdater::Texture::Texture):
876         (WebCore::LayerTextureUpdater::prepareToUpdate):
877         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Removed.
878         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
879         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
880         (WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
881         (WebCore::SkPictureCanvasLayerTextureUpdater::~SkPictureCanvasLayerTextureUpdater):
882         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
883         (WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
884         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
885         * platform/graphics/chromium/TiledLayerChromium.cpp:
886         (WebCore::UpdatableTile::UpdatableTile):
887         (WebCore::UpdatableTile::texture):
888         (WebCore::UpdatableTile::managedTexture):
889         (WebCore::TiledLayerChromium::updateCompositorResources):
890         (WebCore::TiledLayerChromium::pushPropertiesTo):
891         (WebCore::TiledLayerChromium::createTile):
892         (WebCore::TiledLayerChromium::protectTileTextures):
893         (WebCore::TiledLayerChromium::prepareToUpdate):
894         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
895         (WebCore::CCTextureUpdater::append):
896         (WebCore::CCTextureUpdater::update):
897         * platform/graphics/chromium/cc/CCTextureUpdater.h:
898
899 2011-11-30  Rafael Weinstein  <rafaelw@chromium.org>
900
901         [MutationObservers] Make WebKitMutationObserver::deliverAllMutations() tolerant of re-entrant calls
902         https://bugs.webkit.org/show_bug.cgi?id=73472
903
904         Reviewed by Ojan Vafai.
905
906         No new tests. This patch just adds a static guard which makes more explicit the current semantics.
907
908         * dom/WebKitMutationObserver.cpp:
909         (WebCore::WebKitMutationObserver::deliverAllMutations):
910
911 2011-11-30  Takashi Toyoshima  <toyoshim@chromium.org>
912
913         Add OVERRIDE to WebSocket related sources for safe inheritances.
914         https://bugs.webkit.org/show_bug.cgi?id=73308
915
916         Reviewed by Kent Tamura.
917
918         No new tests because this change contains no functional change.
919
920         * platform/network/chromium/SocketStreamHandle.h:
921         * websockets/CloseEvent.h:
922         * websockets/WebSocket.h:
923         * websockets/WebSocketChannel.h:
924         * websockets/WorkerThreadableWebSocketChannel.h:
925
926 2011-11-30  Mihnea Ovidenie  <mihnea@adobe.com>
927
928         [CSSRegions]Rename CSSRegionStyleRule to WebKitCSSRegionRule
929         https://bugs.webkit.org/show_bug.cgi?id=73450
930
931         Reviewed by Andreas Kling.
932
933         No functionality changed so no new tests. The new name has the webkit prefix as required for new api.
934
935         * CMakeLists.txt:
936         * GNUmakefile.list.am:
937         * Target.pri:
938         * WebCore.gypi:
939         * WebCore.vcproj/WebCore.vcproj:
940         * WebCore.xcodeproj/project.pbxproj:
941         * css/CSSParser.cpp:
942         (WebCore::CSSParser::createRegionStylingRule):
943         * css/CSSRule.cpp:
944         (WebCore::CSSRule::cssText):
945         (WebCore::CSSRule::destroy):
946         * css/CSSStyleSelector.cpp:
947         (WebCore::CSSStyleSelector::addRegionStyleRule):
948         (WebCore::CSSStyleSelector::checkRegionStyle):
949         (WebCore::RuleSet::addRulesFromSheet):
950         * css/CSSStyleSelector.h:
951         * css/WebKitCSSRegionRule.cpp: Renamed from Source/WebCore/css/CSSRegionStyleRule.cpp.
952         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
953         (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
954         (WebCore::WebKitCSSRegionRule::cssText):
955         * css/WebKitCSSRegionRule.h: Renamed from Source/WebCore/css/CSSRegionStyleRule.h.
956
957 2011-11-30  Jeff Timanus  <twiz@chromium.org>
958
959         Alter an early return that was preventing HTMLCanvasElement::didDraw notifications
960         from being triggered when accelerated compositing was enabled. The notification is
961         necessary to make sure that any cached state is cleared in the HTMLCanvasElement object.
962         To prevent performance regressions, the cached state is explicitly cleared, as the didDraw
963         machinery is not necessary for accelerated canvases.
964         https://bugs.webkit.org/show_bug.cgi?id=73257
965
966         Reviewed by Stephen White.
967
968         Test: fast/canvas/webgl/canvas-2d-webgl-texture.html
969
970         * html/HTMLCanvasElement.cpp:
971         (WebCore::HTMLCanvasElement::didDraw):
972         (WebCore::HTMLCanvasElement::setSurfaceSize):
973         * html/canvas/CanvasRenderingContext2D.cpp:
974         (WebCore::CanvasRenderingContext2D::didDraw):
975
976 2011-11-30  Kentaro Hara  <haraken@chromium.org>
977
978         Implement the StorageEvent constructor
979         https://bugs.webkit.org/show_bug.cgi?id=71685
980
981         Reviewed by Adam Barth.
982
983         This patch makes StorageEvent constractable.
984         The spec: http://www.whatwg.org/specs/web-apps/current-work/#storageevent
985
986         Test: fast/events/constructors/storage-event-constructor.html
987
988         * bindings/js/JSDictionary.cpp:
989         (WebCore::JSDictionary::tryGetProperty):
990         (WebCore::JSDictionary::convertValue): Returns a Storage object corresponding to a given key.
991         * bindings/js/JSDictionary.h:
992         (WebCore::JSDictionary::tryGetProperty):
993         * bindings/v8/OptionsObject.cpp:
994         (WebCore::OptionsObject::get): Ditto.
995         * bindings/v8/OptionsObject.h:
996         * storage/StorageEvent.cpp: Added an implementation of the StorageEvent constructor.
997         (WebCore::StorageEventInit::StorageEventInit):
998         (WebCore::StorageEvent::create):
999         (WebCore::StorageEvent::StorageEvent):
1000         * storage/StorageEvent.h: Added a definition of StorageEventInit.
1001         (WebCore::StorageEvent::key):
1002         (WebCore::StorageEvent::oldValue):
1003         (WebCore::StorageEvent::newValue):
1004         (WebCore::StorageEvent::url):
1005         (WebCore::StorageEvent::storageArea):
1006         * storage/StorageEvent.idl: Added [ConstructorTemplate=Event] IDL.
1007
1008 2011-11-30  Naveen Bobbili  <qghc36@motorola.com>
1009
1010         window.getMatchedCSSRules() not supporting pseudo element
1011         https://bugs.webkit.org/show_bug.cgi?id=72930
1012
1013         Reviewed by Darin Adler.
1014
1015         Added functionality to retrieve CSS rules of psuedo elements using
1016         getMatchedCSSRules.
1017
1018         Test: fast/dom/Window/getMatchedCSSRules-with-pseudo-elements.html
1019
1020         * page/DOMWindow.cpp:
1021         (WebCore::DOMWindow::getMatchedCSSRules):
1022         Retreiving CSS Rules of the appropriate pseudo element.
1023
1024 2011-11-30  Grace Kloba  <klobag@chromium.org>
1025
1026         [chromium] TextureManager LRU list is not fully honor the order tiles are used
1027         https://bugs.webkit.org/show_bug.cgi?id=73344
1028
1029         Reviewed by James Robinson.
1030
1031         Reorder the texture in the LRU list only when protectTexture() is called.
1032
1033         * platform/graphics/chromium/TextureManager.cpp:
1034         (WebCore::TextureManager::hasTexture):
1035         (WebCore::TextureManager::protectTexture):
1036
1037 2011-11-30  Ken Buchanan <kenrb@chromium.org>
1038
1039         Crash from first letter text fragments having flows split
1040         https://bugs.webkit.org/show_bug.cgi?id=72759
1041
1042         Reviewed by David Hyatt.
1043
1044         When an inline flow is split that contains a first letter block
1045         and its remaining text, it can prevent the remaining text fragment
1046         from getting updated if the first letter block is replaced. This
1047         patch enables the text fragment to be found and updated properly.
1048
1049         * rendering/RenderBlock.cpp:
1050         (WebCore::RenderBlock::updateFirstLetterBlock):
1051
1052 2011-11-30  Takashi Toyoshima  <toyoshim@chromium.org>
1053
1054         Get rid of AllowCrossThreadAccess throughout ThreadableWebSocketChannelClientWrapper.
1055         https://bugs.webkit.org/show_bug.cgi?id=73336
1056
1057         Reviewed by David Levin.
1058
1059         No new tests because it contains no functional change.
1060
1061         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1062         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
1063         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
1064         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
1065         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
1066         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
1067         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1068         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
1069         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
1070         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
1071         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback):
1072         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
1073         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
1074         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1075
1076 2011-11-30  Leo Yang  <leo.yang@torchmobile.com.cn>
1077
1078         [BlackBerry] Add 2 cpp files to the BlackBerry build system
1079         https://bugs.webkit.org/show_bug.cgi?id=73408
1080
1081         platform/network/blackberry/DeferredData.cpp and platform/network/blackberry/NetworkJob.cpp
1082         will be added, change build system first.
1083
1084         Reviewed by Antonio Gomes.
1085
1086         * PlatformBlackBerry.cmake:
1087
1088 2011-11-30  Gregg Tavares  <gman@google.com>
1089
1090         Implement draft WEBGL_compressed_textures WebGL extension
1091         https://bugs.webkit.org/show_bug.cgi?id=72086
1092
1093         Reviewed by Kenneth Russell.
1094
1095         No new tests. Will write final test once on hardware.
1096
1097         * CMakeLists.txt:
1098         * DerivedSources.make:
1099         * GNUmakefile.list.am:
1100         * Target.pri:
1101         * WebCore.gypi:
1102         * WebCore.xcodeproj/project.pbxproj:
1103         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1104         (WebCore::toJS):
1105         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1106         (WebCore::toV8Object):
1107         * html/canvas/WebGLCompressedTextures.cpp: Added.
1108         (WebCore::WebGLCompressedTextures::WebGLCompressedTextures):
1109         (WebCore::WebGLCompressedTextures::~WebGLCompressedTextures):
1110         (WebCore::WebGLCompressedTextures::getName):
1111         (WebCore::WebGLCompressedTextures::create):
1112         (WebCore::WebGLCompressedTextures::supported):
1113         (WebCore::WebGLCompressedTextures::validateCompressedTexFormat):
1114         (WebCore::WebGLCompressedTextures::validateCompressedTexFuncData):
1115         (WebCore::WebGLCompressedTextures::validateCompressedTexSubDimensions):
1116         (WebCore::WebGLCompressedTextures::compressedTexImage2D):
1117         (WebCore::WebGLCompressedTextures::compressedTexSubImage2D):
1118         (WebCore::WebGLCompressedTextures::getCompressedTextureFormats):
1119         * html/canvas/WebGLCompressedTextures.h: Added.
1120         * html/canvas/WebGLCompressedTextures.idl: Added.
1121         * html/canvas/WebGLExtension.h:
1122         * html/canvas/WebGLRenderingContext.cpp:
1123         (WebCore::WebGLRenderingContext::getExtension):
1124         (WebCore::WebGLRenderingContext::getParameter):
1125         (WebCore::WebGLRenderingContext::getSupportedExtensions):
1126         * html/canvas/WebGLRenderingContext.h:
1127         * platform/graphics/Extensions3D.h:
1128         * platform/graphics/GraphicsContext3D.h:
1129         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1130         (WebCore::GraphicsContext3D::compressedTexImage2D):
1131         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
1132         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1133         (WebCore::GraphicsContext3D::compressedTexImage2D):
1134         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
1135         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1136         (WebCore::GraphicsContext3D::compressedTexImage2D):
1137         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
1138
1139 2011-11-18  Nat Duca  <nduca@chromium.org>
1140
1141         [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
1142         https://bugs.webkit.org/show_bug.cgi?id=70838
1143
1144         Reviewed by James Robinson.
1145
1146         * platform/graphics/chromium/LayerRendererChromium.cpp:
1147         (WebCore::LayerRendererChromium::initialize):
1148         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1149         (WebCore::WebGLLayerChromium::layerRendererContext):
1150         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1151         (WebCore::CCHeadsUpDisplay::enabled):
1152         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1153         (WebCore::CCLayerTreeHost::initialize):
1154         (WebCore::CCLayerTreeHost::context):
1155         (WebCore::CCLayerTreeHost::setNeedsAnimate):
1156         (WebCore::CCLayerTreeHost::setNeedsCommit):
1157         (WebCore::CCLayerTreeHost::setNeedsRedraw):
1158         (WebCore::CCLayerTreeHost::composite):
1159         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1160         (WebCore::CCSettings::CCSettings):
1161         * platform/graphics/chromium/cc/CCProxy.cpp:
1162         (WebCore::CCProxy::isMainThread):
1163         (WebCore::CCProxy::isImplThread):
1164         (WebCore::CCProxy::setMainThreadIsImplThread):
1165         * platform/graphics/chromium/cc/CCProxy.h:
1166         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1167         (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
1168         (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
1169
1170 2011-11-30  Enrica Casucci  <enrica@apple.com>
1171
1172         Copy/paste of the same content produces increasingly nested markup
1173         https://bugs.webkit.org/show_bug.cgi?id=73497
1174         <rdar://problem/10208605>
1175         
1176         When pasting a fragment over a selection, we perfom a DeleteSelection command
1177         followed by a ReplaceSelection command. Delete selection preserves the style
1178         of the selection start, leaving all the blocks containing the insertion point.
1179         This patch eliminates all the nested divs that don't provide additional style,
1180         avoiding the proliferation of nested divs. 
1181
1182         Reviewed by Darin Adler.
1183
1184         Tests: editing/deleting/delete-and-cleanup.html
1185                editing/pasteboard/paste-without-nesting.html
1186
1187         * editing/DeleteSelectionCommand.cpp:
1188         (WebCore::DeleteSelectionCommand::removeRedundantBlocks):
1189         (WebCore::DeleteSelectionCommand::doApply):
1190         * editing/DeleteSelectionCommand.h:
1191
1192 2011-11-30  Dan Bernstein  <mitz@apple.com>
1193
1194         WebCore part of: Allow the length of a page along the pagination axis to differ from the length of the view
1195         https://bugs.webkit.org/show_bug.cgi?id=73476
1196
1197         Reviewed by Anders Carlsson.
1198
1199         * page/Page.cpp:
1200         (WebCore::Page::setPagination): Changed to use Pagination::operator==.
1201         * page/Page.h:
1202         (WebCore::Page::Pagination::Pagination): Added initializer for the new pageLength member variable.
1203         (WebCore::Page::Pagination::operator==): Added.
1204         * rendering/RenderBlock.cpp:
1205         (WebCore::RenderBlock::layoutColumns): Narrowed the scope of a local variable.
1206         * rendering/RenderBlock.h: Promoted setDesiredColumnCountAndWidth() from private to protected,
1207         allowing its use from RenderView::calcColumnWidth(). Made calcColumnWidth() virtual.
1208         * rendering/RenderView.cpp:
1209         (WebCore::RenderView::calcColumnWidth): Added. Uses the page length specified in the pagination
1210         parameters to set the column width, if pages are to be laid out one next to the other.
1211         (WebCore::RenderView::viewLogicalHeight): Added. Uses the page length specified in the pagination
1212         parameters as the height, if pages are to be laid out one after the other.
1213         * rendering/RenderView.h:
1214
1215 2011-11-30  Chris Fleizach  <cfleizach@apple.com>
1216
1217         AX: Nodes are reporting that focus can be set when they really can't
1218         https://bugs.webkit.org/show_bug.cgi?id=72791
1219
1220         Reviewed by Beth Dakin.
1221
1222         Whether focus can be set on a node shouldn't rely only on the role.
1223         It should depend on whether the node supports focus.
1224
1225         Test: platform/mac/accessibility/supports-focus-setting.html
1226
1227         * accessibility/AccessibilityRenderObject.cpp:
1228         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1229
1230 2011-11-30  Chris Fleizach  <cfleizach@apple.com>
1231
1232         WebKit does not send mouse down/up/click events to ARIA tabs
1233         https://bugs.webkit.org/show_bug.cgi?id=72573
1234
1235         Reviewed by Darin Adler.
1236
1237         There are a number of "control" type elements that should perform a click on the actual element.
1238
1239         Test: accessibility/press-works-on-control-types.html
1240
1241         * accessibility/AccessibilityRenderObject.cpp:
1242         (WebCore::AccessibilityRenderObject::actionElement):
1243
1244 2011-11-30  Chris Fleizach  <cfleizach@apple.com>
1245
1246         AX: Searching mechanism is too slow when finding the element.
1247         https://bugs.webkit.org/show_bug.cgi?id=72523
1248
1249         Reviewed by Beth Dakin.
1250
1251         This makes the element searching mechanism much faster. Previously, searching literally went 
1252         through every element, looking for the start element before "starting" the search.
1253
1254         Now we only go through the elements that need to be searched. This is done by going up the 
1255         start object parent chain. At each level, a DFS is done. As we go up the parent chain, 
1256         only the elements before/after the current element are examined.
1257
1258         * accessibility/AccessibilityObject.cpp:
1259         (WebCore::appendChildrenToArray):
1260         (WebCore::AccessibilityObject::findMatchingObjects):
1261
1262 2011-11-30  Ryosuke Niwa  <rniwa@webkit.org>
1263
1264         Cannot select RTL text inside LTR text from right to left by a mouse drag
1265         https://bugs.webkit.org/show_bug.cgi?id=73056
1266
1267         Reviewed by Eric Seidel.
1268
1269         The bug was caused by positionAtRightBoundaryOfBiDiRun using current inline box's offset
1270         even when creating a position with previous inline box. Fixed the bug by using the correct offset.
1271
1272         * editing/RenderedPosition.cpp:
1273         (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun):
1274         (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun):
1275
1276 2011-11-30 Chris Fleizach  <cfleizach@apple.com>
1277
1278         AX: Searching mechanism gets stuck when searching tables
1279         https://bugs.webkit.org/show_bug.cgi?id=72519
1280
1281         When searching through the elements within a data table, the children() method should not
1282         be used, since that contains elements (like a table header column) which have the same children
1283         as the table itself. Instead the cells() should be searched.
1284
1285         Reviewed by Beth Dakin.
1286
1287         Test: platform/mac/accessibility/search-when-element-starts-in-table.html
1288
1289         * accessibility/AccessibilityObject.cpp:
1290         (WebCore::AccessibilityObject::findMatchingObjects):
1291
1292 2011-11-29  Ryosuke Niwa  <rniwa@webkit.org>
1293
1294         Assertion failure (m_nestedIsolateCount >= 1) in BidiResolver::exitIsolate()
1295         https://bugs.webkit.org/show_bug.cgi?id=69267
1296
1297         Reviewed by Eric Seidel.
1298
1299         The failure was caused by our updating bidi resolver's current position in layoutRunsAndFloatsInRange
1300         without updating the number of nested isolated ancestors. Fixed the bug by computing the number of
1301         isolated ancestors when setting a new position to the bidi resolver.
1302
1303         Also renamed the existing BidiResolver::setPosition to setPositionIgnoringNestedIsolates because this
1304         version can be used only when we don't have to update the number of nested isolates.
1305
1306         Tests: fast/text/bidi-isolate-hang-with-neutral-expected.html
1307                fast/text/bidi-isolate-hang-with-neutral.html
1308                fast/text/bidi-isolate-nextlinebreak-failure.html
1309
1310         * platform/graphics/GraphicsContext.cpp:
1311         (WebCore::GraphicsContext::drawBidiText):
1312         * platform/text/BidiResolver.h:
1313         (WebCore::BidiResolver::setPositionIgnoringNestedIsolates):
1314         (WebCore::BidiResolver::setPosition):
1315         * rendering/InlineIterator.h:
1316         (WebCore::numberOfIsolateAncestors): Takes InlineIterator instead of object and root.
1317         (WebCore::InlineBidiResolver::appendRun):
1318         * rendering/RenderBlockLineLayout.cpp:
1319         (WebCore::constructBidiRuns):
1320         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1321         (WebCore::RenderBlock::determineStartPosition):
1322
1323 2011-11-30  Brent Fulgham  <bfulgham@webkit.org>
1324
1325         [WinCairo] Correct SimpleFontData implementation to match Apple results.
1326         https://bugs.webkit.org/show_bug.cgi?id=73474
1327
1328         Reviewed by Adam Roben.
1329
1330         Tested by existing dom/xhtml/level3/core/nodegetbaseuri05.xhtml
1331         and dom/xhtml/level3/core/nodegetbaseuri07.xhtml
1332
1333         * platform/graphics/SimpleFontData.h: Add declaration for new
1334           'ascentConsideringMacAscentHack' method.
1335         * platform/graphics/win/SimpleFontDataCGWin.cpp: Remove implementation
1336           of 'platformCharWidthInit' (moved to SimpleFontDataWin.cpp). Also
1337           use new 'ascentConsideringMacAscentHack' method.
1338         * platform/graphics/win/SimpleFontDataCairoWin.cpp: Remove dummy
1339           implementation.
1340         (WebCore::SimpleFontData::platformInit): Add logic to handle the
1341           'shouldApplyMacAscentHack' case, as well as to identify system font
1342           using the same criteria as the Apple port.
1343         (WebCore::SimpleFontData::platformWidthForGlyph): Add check for
1344           missing font data state.
1345         * platform/graphics/win/SimpleFontDataWin.cpp:
1346         (WebCore::SimpleFontData::ascentConsideringMacAscentHack): New
1347         (WebCore::SimpleFontData::platformCharWidthInit): Moved from the
1348           CG implementation.
1349
1350 2011-11-30  David Levin  <levin@chromium.org>
1351
1352         Make FrameView use TemporarilyChange in a few places.
1353         https://bugs.webkit.org/show_bug.cgi?id=73403
1354
1355         Reviewed by Dmitry Titov.
1356
1357         No new functionality exposed so no new tests.
1358
1359         * page/FrameView.cpp:
1360         (WebCore::FrameView::forceLayoutParentViewIfNeeded): Since this function isn't
1361         re-entrant, TemporarilyChange does the same thing but in a more robust manner
1362         in case there would be a return added in the function.
1363         (WebCore::FrameView::layout): This place is the key reason for the change.
1364         layout is re-entrant, but layout will set m_layoutSchedulingEnabled to true when
1365         leaving though the "layout" function higher in the stack would still have it set
1366         to false (which works ok but is hit by another change I'm working on).
1367         The majority of the change is due to indenting the code to make m_layoutSchedulingEnabled
1368         and TemporarilyChange behave like they did before. A few variables were moved before
1369         the scoping to allow them to be used after the scope is closed.
1370         (WebCore::FrameView::setScrollPosition): TemporarilyChange does exactly what
1371         this code did before (saving the old value and restoring it).
1372
1373 2011-11-30  Alejandro G. Castro  <alex@igalia.com>
1374
1375         [GTK] Add TextureMapperCairo boilerplate implementation
1376         https://bugs.webkit.org/show_bug.cgi?id=73440
1377
1378         Add TextureMapperCairo class and TextureMapper classes compilation
1379         for GTK+.
1380
1381         Reviewed by Martin Robinson.
1382
1383         * GNUmakefile.am:
1384         * GNUmakefile.list.am:
1385         * platform/graphics/GraphicsContext3D.h:
1386         * platform/graphics/GraphicsLayer.cpp:
1387         * platform/graphics/GraphicsLayer.h:
1388         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1389         (WebCore::GraphicsContext3D::platformLayer):
1390         * platform/graphics/cairo/TextureMapperCairo.cpp: Added.
1391         (WebCore::BitmapTextureCairo::destroy):
1392         (WebCore::BitmapTextureCairo::size):
1393         (WebCore::BitmapTextureCairo::reset):
1394         (WebCore::BitmapTextureCairo::beginPaint):
1395         (WebCore::BitmapTextureCairo::endPaint):
1396         (WebCore::BitmapTextureCairo::updateContents):
1397         (WebCore::BitmapTextureCairo::save):
1398         (WebCore::BitmapTextureCairo::setContentsToImage):
1399         (WebCore::TextureMapperCairo::beginClip):
1400         (WebCore::TextureMapperCairo::endClip):
1401         (WebCore::TextureMapperCairo::viewportSize):
1402         (WebCore::TextureMapperCairo::TextureMapperCairo):
1403         (WebCore::TextureMapperCairo::setGraphicsContext):
1404         (WebCore::TextureMapperCairo::graphicsContext):
1405         (WebCore::TextureMapperCairo::bindSurface):
1406         (WebCore::TextureMapperCairo::drawTexture):
1407         (WebCore::TextureMapper::create):
1408         (WebCore::TextureMapperCairo::createTexture):
1409         (WebCore::BitmapTextureCairo::BitmapTextureCairo):
1410         (WebCore::TextureMapperCairo::beginPainting):
1411         (WebCore::TextureMapperCairo::endPainting):
1412         * platform/graphics/cairo/TextureMapperCairo.h: Added.
1413         (WebCore::BitmapTextureCairo::~BitmapTextureCairo):
1414         (WebCore::BitmapTextureCairo::isValid):
1415         (WebCore::BitmapTextureCairo::sourceRect):
1416         (WebCore::BitmapTextureCairo::pack):
1417         (WebCore::BitmapTextureCairo::unpack):
1418         (WebCore::BitmapTextureCairo::isPacked):
1419         (WebCore::BitmapTextureCairo::cr):
1420         (WebCore::TextureMapperCairo::allowSurfaceForRoot):
1421         (WebCore::TextureMapperCairo::create):
1422
1423 2011-11-30  Tim Horton  <timothy_horton@apple.com>
1424
1425         Implement CSS3 Images cross-fade() image function
1426         https://bugs.webkit.org/show_bug.cgi?id=52162
1427         <rdar://problem/10209254>
1428
1429         Reviewed by Simon Fraser.
1430
1431         Fix platform layering violation by moving CachedImage invalidation code into
1432         CSSCrossfadeValue (instead of CrossfadeGeneratedImage).
1433
1434         No new tests.
1435
1436         * css/CSSCrossfadeValue.cpp:
1437         (WebCore::loadSubimage):
1438         (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
1439         (WebCore::CSSCrossfadeValue::customCssText):
1440         (WebCore::CSSCrossfadeValue::fixedSize):
1441         (WebCore::CSSCrossfadeValue::isPending):
1442         (WebCore::CSSCrossfadeValue::loadSubimages):
1443         (WebCore::CSSCrossfadeValue::image):
1444         (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::imageChanged):
1445         * css/CSSCrossfadeValue.h:
1446         (WebCore::CSSCrossfadeValue::create):
1447         (WebCore::CSSCrossfadeValue::setPercentage):
1448         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
1449         (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
1450         (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::~CrossfadeSubimageObserverProxy):
1451         (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::setReady):
1452         * platform/graphics/CrossfadeGeneratedImage.cpp:
1453         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
1454         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
1455         (WebCore::CrossfadeGeneratedImage::drawPattern):
1456         * platform/graphics/CrossfadeGeneratedImage.h:
1457         (WebCore::CrossfadeGeneratedImage::create):
1458
1459 2011-11-30  Vsevolod Vlasov  <vsevik@chromium.org>
1460
1461         Web Inspector: [Regression] Successfully loaded XHRs are shown as canceled.
1462         https://bugs.webkit.org/show_bug.cgi?id=72873
1463
1464         Reviewed by Nate Chapin.
1465
1466         * loader/SubresourceLoader.cpp:
1467         (WebCore::SubresourceLoader::cancelIfNotFinishing):
1468         * loader/SubresourceLoader.h:
1469         * loader/cache/CachedRawResource.cpp:
1470         (WebCore::CachedRawResource::allClientsRemoved):
1471
1472 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
1473
1474         [V8] Make WebCoreTestingSupport::resetInternalsObject more robust
1475         https://bugs.webkit.org/show_bug.cgi?id=73437
1476
1477         Reviewed by Adam Barth.
1478
1479         The Qt DRT may end up calling resetInternalsObject at a time when
1480         there's no internals object yet. In that case the looking of the internals
1481         object in the global object fails and returns undefined. V8Internals::toNative
1482         doesn't handle that and causing failing assertions. This patch adds a simple
1483         check to handle this case.
1484
1485         * testing/v8/WebCoreTestSupport.cpp:
1486         (WebCoreTestSupport::resetInternalsObject):
1487
1488 2011-11-30  James Simonsen  <simonjam@chromium.org>
1489
1490         Fix valgrind issue in SubresourceLoader::didFinishLoading
1491         https://bugs.webkit.org/show_bug.cgi?id=72787
1492
1493         Hang on to CachedResource until finish() is called.
1494
1495         Reviewed by Nate Chapin.
1496
1497         Test: fast/loader/subresource-load-failed-crash.html (under asan)
1498
1499         * loader/SubresourceLoader.cpp:
1500         (WebCore::SubresourceLoader::didFinishLoading):
1501         (WebCore::SubresourceLoader::didFail):
1502
1503 2011-11-30  Tim Horton  <timothy_horton@apple.com>
1504
1505         feImage referencing a primitive draws incorrectly
1506         https://bugs.webkit.org/show_bug.cgi?id=71731
1507         <rdar://problem/10408178>
1508
1509         Reviewed by Simon Fraser.
1510
1511         If the target of an <feImage> appears to be a local fragment identifier, but
1512         it hasn't resolved yet, defer resolution instead of loading a bogus image.
1513
1514         Invalidate <feImage> if the xlink:href attribute changes.
1515
1516         Don't attempt to render an <feImage> if the referenced element is of size 0x0.
1517
1518         Tests: svg/filters/feImage-reference-invalidation.svg
1519                svg/filters/feImage-reference-svg-primitive.svg
1520                svg/filters/feImage-zero-size-crash.svg
1521
1522         * svg/SVGFEImageElement.cpp:
1523         (WebCore::SVGFEImageElement::parseMappedAttribute):
1524         (WebCore::SVGFEImageElement::build):
1525
1526 2011-11-30  Robin Dunn  <robin@alldunn.com>
1527
1528         [wx] Ensure we always notify the popup client that the popup
1529         was hidden, and fix handling of empty menu items.
1530         https://bugs.webkit.org/show_bug.cgi?id=73464
1531         
1532         Reviewed by Kevin Ollivier.
1533
1534         * platform/wx/PopupMenuWx.cpp:
1535         (WebCore::PopupMenuEventHandler::OnMenuItemSelected):
1536         (WebCore::PopupMenuWx::show):
1537
1538 2011-11-30  Tim Horton  <timothy_horton@apple.com>
1539
1540         dx causes non-BMP characters to fail to render
1541         https://bugs.webkit.org/show_bug.cgi?id=18039
1542         <rdar://problem/10422142>
1543
1544         Reviewed by Simon Fraser.
1545
1546         Don't split the surrogate pairs of non-BMP characters across
1547         elements of <text> positioning lists.
1548
1549         Test: svg/text/non-bmp-positioning-lists.svg
1550
1551         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
1552         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
1553
1554 2011-11-30  Robin Dunn  <robin@alldunn.com>
1555
1556         [wx] Add a scope for the raw bitmap access so that wx
1557         will not make a copy when creating the wxMemoryDC.
1558         https://bugs.webkit.org/show_bug.cgi?id=73461
1559         
1560         Reviewed By Kevin Ollivier.
1561
1562         * platform/wx/LocalDC.h:
1563         (WebCore::LocalDC::LocalDC):
1564
1565 2011-11-30  Vsevolod Vlasov  <vsevik@chromium.org>
1566
1567         Web Inspector: Inspect element does not highlight element in elements panel when inspector is opened.
1568         https://bugs.webkit.org/show_bug.cgi?id=73459
1569
1570         Reviewed by Pavel Feldman.
1571
1572         This regressed in r101503.
1573
1574         * inspector/InjectedScriptHost.cpp:
1575         (WebCore::InjectedScriptHost::InjectedScriptHost):
1576         (WebCore::InjectedScriptHost::disconnect):
1577         (WebCore::InjectedScriptHost::inspectImpl):
1578         * inspector/InjectedScriptHost.h:
1579         (WebCore::InjectedScriptHost::init):
1580         * inspector/InspectorAgent.cpp:
1581         (WebCore::InspectorAgent::enable):
1582         (WebCore::InspectorAgent::inspect):
1583         * inspector/InspectorAgent.h:
1584         * inspector/InspectorController.cpp:
1585         (WebCore::InspectorController::connectFrontend):
1586         (WebCore::InspectorController::disconnectFrontend):
1587         * inspector/WorkerInspectorController.cpp:
1588         (WebCore::WorkerInspectorController::connectFrontend):
1589         (WebCore::WorkerInspectorController::disconnectFrontend):
1590
1591 2011-11-30  Tony Chang  <tony@chromium.org>
1592
1593         Remove dead flexible box code
1594         https://bugs.webkit.org/show_bug.cgi?id=73377
1595
1596         Reviewed by Darin Adler.
1597
1598         We used to use these with an earlier version of the spec where margins
1599         set to auto were treated as flex(1).
1600
1601         No new tests, just removing some uncalled methods.
1602
1603         * rendering/RenderFlexibleBox.cpp:
1604         * rendering/RenderFlexibleBox.h:
1605
1606 2011-11-30  Antti Koivisto  <antti@apple.com>
1607
1608         Reuse cached style fully if the parent inherited styles are equal 
1609         https://bugs.webkit.org/show_bug.cgi?id=73421
1610
1611         Reviewed by Oliver Hunt.
1612
1613         The matched declaration cache currently restores the non-inherted properties from the cache
1614         entry but still applies all inherited properties normally. In case the current parent
1615         inherited style is equivalent to the cache entry's, also the inherited style can be reused
1616         and no properties need to be applied. This is faster and saves memory (by sharing the
1617         style substructures better).
1618         
1619         The new optimized code path has a pretty good hit rate, >50% of all cases on many pages.
1620         
1621         Loading the HTML5 spec this reduces style memory consumption by ~20% (5MB, ~2.5% of total) and 
1622         speeds up style applying by ~25% for ~0.4s (2-3%) gain in the spec loading benchmark.
1623         
1624         * css/CSSStyleSelector.cpp:
1625         (WebCore::CSSStyleSelector::applyDeclaration):
1626         (WebCore::CSSStyleSelector::applyDeclarations):
1627         
1628             Remove the code that dynamically disables inherited only applying. We now don't allow
1629             styles with explicitly inherited properties to be cached in the first place.
1630         
1631         (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
1632         
1633             Return the full cache item.
1634         
1635         (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
1636         
1637             Also the parent style is now needed for the check for full sharing.
1638         
1639         (WebCore::isCacheableInMatchedDeclarationCache):
1640
1641             Don't allow styles with explicitly inherited properties to be cached at all.
1642         
1643         (WebCore::CSSStyleSelector::applyMatchedDeclarations):
1644         
1645             If the parent inherited styles are equal reuse the cache entry fully and return without
1646             doing anything else.
1647         
1648         * css/CSSStyleSelector.h:
1649         * rendering/style/RenderStyle.cpp:
1650         (WebCore::RenderStyle::inheritedDataShared):
1651         * rendering/style/RenderStyle.h:
1652         
1653             Add fast check for equal inherited properties.
1654
1655 2011-11-30  Renata Hodovan  <reni@webkit.org>
1656
1657         CG buildfix after r101517.
1658
1659         Rubber stamped by Zoltan Herczeg.
1660
1661         * rendering/svg/RenderSVGRect.cpp:
1662         (WebCore::RenderSVGRect::fillShape):
1663
1664 2011-11-30  Anna Cavender  <annacc@chromium.org>
1665
1666         Missing RuntimeEnabled check for <track>
1667         https://bugs.webkit.org/show_bug.cgi?id=73398
1668
1669         Reviewed by Eric Carlson.
1670
1671         No new tests. This fixes a problem when --enable-video-track is not used,
1672         but the tests use this flag.
1673
1674         * html/HTMLMediaElement.cpp:
1675         (WebCore::HTMLMediaElement::trackWillBeRemoved):
1676
1677 2011-11-30  Andrey Kosyakov  <caseq@chromium.org>
1678
1679         Web Inspector: [refactoring] do not clone nodes that contain linkified URLs
1680         https://bugs.webkit.org/show_bug.cgi?id=73323
1681
1682         Reviewed by Pavel Feldman.
1683
1684         * inspector/front-end/StylesSidebarPane.js:
1685         (WebInspector.StylePropertiesSection):
1686         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
1687         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
1688         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
1689         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
1690         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
1691         * inspector/front-end/elementsPanel.css:
1692         (.styles-section a[data-uncopyable]):
1693         (.styles-section a[data-uncopyable]::before):
1694
1695 2011-11-30  Renata Hodovan  <reni@webkit.org>
1696
1697         Add new renderer for SVGRectElement.
1698         https://bugs.webkit.org/show_bug.cgi?id=65769
1699
1700         Reviewed by Nikolas Zimmermann.
1701
1702         This patch introduces a new common base class called RenderSVGShape which
1703         replaces the RenderSVGPath. This new base class has the same purpose
1704         as the replaced class and has specialized descendants for common
1705         shapes (like Rectangles and Circles), which allows faster painting
1706         of these shapes when certain conditions are fulfilled. On some
1707         benchmark programs we have seen 5% speedup.
1708
1709         The biggest motivation of this refactor is taking advantage
1710         of faster primitive drawing in the most common and frequent
1711         cases. However in some rare cases, like painting rounded
1712         rects, we need to fallback to the original code path, which
1713         is fully kept in the RenderSVGShape base class. Some other
1714         cases, like dashed strokes, can be painted but mouse pointer
1715         events cannot be handled by the descendant classes. A different
1716         fallback mechanism is used in such cases which redirects
1717         only the pointer event handling to the base class.
1718
1719         Tests: svg/custom/pointer-events-on-rounded-rect.xhtml
1720                svg/custom/pointer-events-with-linecaps-and-miterlimits.xhtml
1721
1722         * CMakeLists.txt:
1723         * GNUmakefile.list.am:
1724         * WebCore.gypi:
1725         * WebCore.pro:
1726         * WebCore.vcproj/WebCore.vcproj:
1727         * platform/graphics/FloatRect.cpp:
1728         (WebCore::FloatRect::contains):
1729         * platform/graphics/FloatRect.h:
1730         (WebCore::FloatRect::contains):
1731         * rendering/RenderObject.h:
1732         (WebCore::RenderObject::isSVGRect):
1733         (WebCore::RenderObject::isSVGShape):
1734         * rendering/RenderTreeAsText.cpp:
1735         (WebCore::write):
1736         * rendering/svg/RenderSVGAllInOne.cpp:
1737         * rendering/svg/RenderSVGModelObject.cpp:
1738         (WebCore::isGraphicsElement):
1739         * rendering/svg/RenderSVGPath.cpp:
1740         (WebCore::RenderSVGPath::RenderSVGPath):
1741         (WebCore::RenderSVGPath::inflateWithStrokeAndMarkerBounds): Unite the markerBounds with strokeBoundingBox.
1742         * rendering/svg/RenderSVGPath.h:
1743         * rendering/svg/RenderSVGRect.cpp: Added.
1744         (WebCore::RenderSVGRect::RenderSVGRect):
1745         (WebCore::RenderSVGRect::~RenderSVGRect):
1746         (WebCore::RenderSVGRect::createShape):
1747         (WebCore::RenderSVGRect::objectBoundingBox):
1748         (WebCore::RenderSVGRect::strokeBoundingBox):
1749         (WebCore::RenderSVGRect::fillShape):
1750         (WebCore::RenderSVGRect::strokeShape):
1751         (WebCore::RenderSVGRect::shapeDependentStrokeContains):
1752         (WebCore::RenderSVGRect::shapeDependentFillContains):
1753         * rendering/svg/RenderSVGRect.h: Added.
1754         (WebCore::RenderSVGRect::isSVGRect):
1755         (WebCore::RenderSVGRect::renderName):
1756         (WebCore::RenderSVGRect::isEmpty):
1757         * rendering/svg/RenderSVGResource.h:
1758         (WebCore::RenderSVGResource::postApplyResource): A new shape argument was added to allow shape specific faster painting.
1759         * rendering/svg/RenderSVGResourceClipper.cpp:
1760         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
1761         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
1762         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
1763         * rendering/svg/RenderSVGResourceContainer.cpp:
1764         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
1765         * rendering/svg/RenderSVGResourceFilter.cpp:
1766         (WebCore::RenderSVGResourceFilter::postApplyResource):
1767         * rendering/svg/RenderSVGResourceFilter.h:
1768         * rendering/svg/RenderSVGResourceGradient.cpp:
1769         (WebCore::RenderSVGResourceGradient::applyResource):
1770         * rendering/svg/RenderSVGResourceGradient.h:
1771         * rendering/svg/RenderSVGResourcePattern.cpp:
1772         (WebCore::RenderSVGResourcePattern::postApplyResource):
1773         * rendering/svg/RenderSVGResourcePattern.h:
1774         * rendering/svg/RenderSVGResourceSolidColor.cpp:
1775         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
1776         * rendering/svg/RenderSVGResourceSolidColor.h:
1777         * rendering/svg/RenderSVGShape.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGPath.cpp.
1778         (WebCore::RenderSVGShape::RenderSVGShape):
1779         (WebCore::RenderSVGShape::~RenderSVGShape):
1780         (WebCore::RenderSVGShape::createShape):
1781         (WebCore::RenderSVGShape::isEmpty):
1782         (WebCore::RenderSVGShape::fillShape):
1783         (WebCore::RenderSVGShape::objectBoundingBox):
1784         (WebCore::RenderSVGShape::strokeBoundingBox):
1785         (WebCore::RenderSVGShape::strokeShape):
1786         (WebCore::RenderSVGShape::shapeDependentStrokeContains):
1787         The purpose of this virtual function allows decendants to use their own fast checks.
1788         (WebCore::RenderSVGShape::shapeDependentFillContains):
1789         The purpose of this virtual function allows decendants to use their own fast checks.
1790         (WebCore::RenderSVGShape::fillContains):
1791         (WebCore::RenderSVGShape::strokeContains):
1792         (WebCore::RenderSVGShape::layout):
1793         (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
1794         (WebCore::RenderSVGShape::zeroLengthSubpathRect):
1795         (WebCore::RenderSVGShape::setupSquareCapPath):
1796         (WebCore::RenderSVGShape::setupNonScalingStrokePath):
1797         (WebCore::RenderSVGShape::fillAndStrokePath):
1798         (WebCore::RenderSVGShape::paint):
1799         (WebCore::RenderSVGShape::addFocusRingRects):
1800         (WebCore::RenderSVGShape::nodeAtFloatPoint):
1801         (WebCore::RenderSVGShape::calculateMarkerBoundsIfNeeded):
1802         (WebCore::RenderSVGShape::updateCachedBoundaries):
1803         (WebCore::RenderSVGShape::strokeWidth):
1804         * rendering/svg/RenderSVGShape.h: Copied from Source/WebCore/rendering/svg/RenderSVGPath.h.
1805         (WebCore::BoundingRectStrokeStyleApplier::BoundingRectStrokeStyleApplier):
1806         (WebCore::BoundingRectStrokeStyleApplier::strokeStyle):
1807         (WebCore::RenderSVGShape::setNeedsShapeUpdate):
1808         (WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
1809         (WebCore::RenderSVGShape::setNeedsTransformUpdate):
1810         (WebCore::RenderSVGShape::isPaintingFallback):
1811         (WebCore::RenderSVGShape::path):
1812         (WebCore::RenderSVGShape::setIsPaintingFallback):
1813         (WebCore::RenderSVGShape::setStrokeAndMarkerBoundingBox):
1814         (WebCore::RenderSVGShape::hasPath):
1815         (WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
1816         (WebCore::RenderSVGShape::localToParentTransform):
1817         (WebCore::RenderSVGShape::localTransform):
1818         (WebCore::RenderSVGShape::isSVGShape):
1819         (WebCore::RenderSVGShape::renderName):
1820         (WebCore::RenderSVGShape::isRoundedRect):
1821         (WebCore::RenderSVGShape::inflateWithMarkerBounds):
1822         (WebCore::toRenderSVGShape):
1823         * rendering/svg/SVGInlineTextBox.cpp:
1824         (WebCore::SVGInlineTextBox::releasePaintingResource):
1825         * rendering/svg/SVGRenderSupport.cpp:
1826         (WebCore::SVGRenderSupport::finishRenderSVGContent):
1827         (WebCore::SVGRenderSupport::layoutChildren):
1828         * rendering/svg/SVGRenderTreeAsText.cpp:
1829         (WebCore::writeStyle):
1830         (WebCore::operator<<):
1831         (WebCore::write):
1832         * rendering/svg/SVGRenderTreeAsText.h:
1833         * rendering/svg/SVGTextRunRenderingContext.cpp:
1834         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
1835         * svg/SVGCircleElement.cpp:
1836         (WebCore::SVGCircleElement::svgAttributeChanged):
1837         * svg/SVGEllipseElement.cpp:
1838         (WebCore::SVGEllipseElement::svgAttributeChanged):
1839         * svg/SVGLineElement.cpp:
1840         (WebCore::SVGLineElement::svgAttributeChanged):
1841         * svg/SVGPathElement.cpp:
1842         (WebCore::SVGPathElement::svgAttributeChanged):
1843         (WebCore::SVGPathElement::pathSegListChanged):
1844         (WebCore::SVGPathElement::createRenderer):
1845         * svg/SVGPathElement.h:
1846         * svg/SVGPolyElement.cpp:
1847         (WebCore::SVGPolyElement::svgAttributeChanged):
1848         * svg/SVGRectElement.cpp:
1849         (WebCore::SVGRectElement::svgAttributeChanged):
1850         (WebCore::SVGRectElement::createRenderer):
1851         * svg/SVGRectElement.h:
1852
1853 2011-11-30  Adam Roben  <aroben@apple.com>
1854
1855         Another Clang build fix after r101507
1856
1857         * platform/network/SocketStreamHandleClient.h:
1858         (WebCore::SocketStreamHandleClient::didUpdateBufferedAmount): Removed unused parameter.
1859
1860 2011-11-30  Renata Hodovan  <reni@webkit.org>
1861
1862         MAC build fix after r101507.
1863
1864         Rubber stamped by Csaba Osztrogonac.
1865
1866         * platform/network/SocketStreamHandleClient.h:
1867         (WebCore::SocketStreamHandleClient::didUpdateBufferedAmount):
1868         * websockets/WebSocket.cpp:
1869         (WebCore::WebSocket::didUpdateBufferedAmount):
1870         * websockets/WebSocket.h:
1871         * websockets/WebSocketChannel.cpp:
1872         (WebCore::WebSocketChannel::didUpdateBufferedAmount):
1873         * websockets/WebSocketChannel.h:
1874
1875 2011-11-30  John Knottenbelt  <jknotten@chromium.org>
1876
1877         Remove unnecessary asserts in HTMLTextAreaElement.
1878         https://bugs.webkit.org/show_bug.cgi?id=73135
1879
1880         http://code.google.com/p/chromium/issues/detail?id=103228 shows
1881         that sometimes we are hitting the following assert in
1882         HTMLTextAreaElement::updateFocusAppearance:
1883
1884         ASSERT(!document()->childNeedsAndNotInStyleRecalc());
1885
1886         This assert was added by https://bugs.webkit.org/show_bug.cgi?id=27474
1887         as part of a fix for a crash when the selection is set immediately
1888         after setting display:none.
1889
1890         All the methods called by updateFocusAppearance already handle the
1891         case of the document having the childNeedsStyleRecalc flag set, so
1892         this assert is unnecessary. The ASSERT(renderer()) is similarly
1893         redundant.
1894
1895         Reviewed by Kent Tamura.
1896
1897         * html/HTMLTextAreaElement.cpp:
1898         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
1899
1900 2011-11-30  Adam Roben  <aroben@apple.com>
1901
1902         Clang build fix after r101507
1903
1904         * websockets/WebSocketChannelClient.h:
1905         (WebCore::WebSocketChannelClient::didUpdateBufferedAmount): Removed unused parameter.
1906
1907 2011-11-30  Nikita Vasilyev  <me@elv1s.ru>
1908
1909         Web Inspector: Preserve an indentation level when inserting a new line
1910         https://bugs.webkit.org/show_bug.cgi?id=71625
1911
1912         Indent one level more when a line ends with either "{", "[" or "(".
1913
1914         Reviewed by Pavel Feldman.
1915
1916         * inspector/front-end/TextEditorModel.js:
1917         (WebInspector.TextRange.prototype.collapseToEnd):
1918         (WebInspector.TextRange.prototype.normalize):
1919         * inspector/front-end/TextViewer.js:
1920         (WebInspector.TextViewer.prototype._registerShortcuts):
1921         (WebInspector.TextViewer.prototype._handleKeyDown):
1922         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
1923         (WebInspector.TextEditorMainPanel.prototype._getSelection):
1924
1925 2011-11-30  Alexander Pavlov  <apavlov@chromium.org>
1926
1927         Web Inspector: Display of data URIs cumbersome in the Elements panel
1928         https://bugs.webkit.org/show_bug.cgi?id=73438
1929
1930         Reviewed by Pavel Feldman.
1931
1932         * inspector/front-end/ElementsTreeOutline.js:
1933         (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
1934
1935 2011-11-28  Vsevolod Vlasov  <vsevik@chromium.org>
1936
1937         Web Inspector: TreeOutline elements should be formatted using margin-left instead of text-indent.
1938         https://bugs.webkit.org/show_bug.cgi?id=73234
1939
1940         Reviewed by Pavel Feldman.
1941
1942         * inspector/front-end/ResourceHeadersView.js:
1943         (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
1944         * inspector/front-end/ResourcesPanel.js:
1945         (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
1946         * inspector/front-end/auditsPanel.css:
1947         (.audit-result-tree li):
1948         (.audit-result-tree li.parent):
1949         (.audit-result img):
1950         * inspector/front-end/inspector.css:
1951         (.outline-disclosure li):
1952         (.outline-disclosure li.parent):
1953         * inspector/front-end/networkPanel.css:
1954         * inspector/front-end/resourcesPanel.css:
1955         (.resources.panel .sidebar-resizer-vertical):
1956         (.resources.panel .sidebar li):
1957         * inspector/front-end/treeoutline.js:
1958         (TreeElement.prototype.isEventWithinDisclosureTriangle):
1959
1960 2011-11-30  Kentaro Hara  <haraken@chromium.org>
1961
1962         Implement the [NamedConstructor] IDL in CodeGeneratorJS.pm
1963         https://bugs.webkit.org/show_bug.cgi?id=73307
1964
1965         Reviewed by Adam Barth.
1966
1967         This patch implements the [NamedConstructor] IDL for JSC.
1968         The spec: http://www.w3.org/TR/WebIDL/#NamedConstructor
1969
1970         Tests: bindings/scripts/test/JS/JSTestNamedConstructor.idl
1971
1972         * bindings/scripts/CodeGeneratorJS.pm:
1973         (GenerateHeader): Removed unnecessary conditions '$dataNode->extendedAttributes->{"JSCustomConstructor"} || $dataNode->extendedAttributes->{"CustomConstructor"}'.
1974         (GenerateImplementation): Calls GenerateConstructorDefinition() to generate a NamedConstructor.
1975         (GenerateConstructorDeclaration): Generates a header for a NamedConstructor.
1976         (GenerateConstructorDefinition): Generates a NamedConstructor implementation and getConstructData() for the NamedConstructor.
1977         (IsConstructable): Added a NamedConstructor condition.
1978
1979         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Updated a run-bindings-tests result.
1980         (WebCore::JSTestNamedConstructorNamedConstructor::JSTestNamedConstructorNamedConstructor):
1981         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
1982         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
1983         (WebCore::JSTestNamedConstructorNamedConstructor::getConstructData):
1984         * bindings/scripts/test/JS/JSTestNamedConstructor.h: Ditto.
1985         (WebCore::JSTestNamedConstructorNamedConstructor::create):
1986         (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
1987
1988 2011-11-30  Takashi Toyoshima  <toyoshim@chromium.org>
1989
1990         Add didUpdateBufferedAmount() callback to SocketStreamHandleClient
1991         and WebSocketChannelClient.
1992         https://bugs.webkit.org/show_bug.cgi?id=73290
1993
1994         Reviewed by Kent Tamura.
1995
1996         No new tests because this callback is not used in WebCore.
1997
1998         * platform/network/SocketStreamHandleBase.cpp: Invoke new callback.
1999         (WebCore::SocketStreamHandleBase::send):
2000         (WebCore::SocketStreamHandleBase::sendPendingData):
2001         * platform/network/SocketStreamHandleBase.h: Change returning value type.
2002         (WebCore::SocketStreamHandleBase::bufferedAmount):
2003         * platform/network/SocketStreamHandleClient.h: Add new callback definition.
2004         (WebCore::SocketStreamHandleClient::didUpdateBufferedAmount):
2005         * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Add new callback handling.
2006         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
2007         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback):
2008         * websockets/ThreadableWebSocketChannelClientWrapper.h: Add new callback inheritance and its helper method.
2009         * websockets/WebSocket.cpp: Add new callback handling.
2010         (WebCore::WebSocket::didUpdateBufferedAmount):
2011         * websockets/WebSocket.h: Add new callback inheritance.
2012         * websockets/WebSocketChannel.cpp: Add new callback handling.
2013         (WebCore::WebSocketChannel::didUpdateBufferedAmount):
2014         * websockets/WebSocketChannel.h: Add new callback inheritacne.
2015         * websockets/WebSocketChannelClient.h: Add new callback definition.
2016         (WebCore::WebSocketChannelClient::didUpdateBufferedAmount):
2017         * websockets/WorkerThreadableWebSocketChannel.cpp: Add new callback handling.
2018         (WebCore::workerContextDidUpdateBufferedAmount):
2019         (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
2020         * websockets/WorkerThreadableWebSocketChannel.h: Add new callback inheritance and its helper method.
2021
2022 2011-11-30  Kentaro Hara  <haraken@chromium.org>
2023
2024         [Refactoring] In preprocessor.pm, remove double quotations from $defines
2025         https://bugs.webkit.org/show_bug.cgi?id=73160
2026
2027         Reviewed by Adam Barth.
2028
2029         In preprocessor.pm, we need to extract gcc macros from $defines.
2030         $defines can contain unnecessary double quotations.
2031         For example, if $defines is ' "A=1" "B=1" C=1 ""    D  ',
2032         then it should be converted into four macros, -DA=1, -DB=1, -DC=1 and -DD.
2033         This patch refactors the logic in preprocessor.pm.
2034
2035         No new tests. No change in behavior.
2036
2037         * bindings/scripts/generate-bindings.pl: Removed a code for $defines conversion, since it is now done in preprocessor.pm.
2038         * bindings/scripts/preprocessor.pm:
2039         (applyPreprocessor):
2040
2041 2011-11-30  Kenichi Ishibashi  <bashi@chromium.org>
2042
2043         @font-face: unquoted local font names containing spaces don't work
2044         https://bugs.webkit.org/show_bug.cgi?id=64783
2045
2046         Allows local font names with spaces.
2047         Rejects the src descriptor if there is invalid identifiers in local(), as the same as Firefox.
2048
2049         Reviewed by Ryosuke Niwa.
2050
2051         Tests: fast/css/font-face-unquoted-local-expected.html
2052                fast/css/font-face-unquoted-local.html
2053
2054         * css/CSSParser.cpp:
2055         (WebCore::parseFontFaceSrcFunction): Added. Treats multiple identifiers in local() as a font name separated by spaces.
2056         (WebCore::CSSParser::parseFontFaceSrc): Moved the code block which parses local() and format() to parseFontFaceSrcFunction().
2057
2058 2011-11-30  Pavel Feldman  <pfeldman@google.com>
2059
2060         Web Inspector: get rid of deferred backend->front-end commands processing.
2061         https://bugs.webkit.org/show_bug.cgi?id=73439
2062
2063         We should issue tests upon InspectorAgent::enable and should not do any deferred command processing.
2064
2065         Reviewed by Yury Semikhatsky.
2066
2067         * inspector/InspectorAgent.cpp:
2068         (WebCore::InspectorAgent::InspectorAgent):
2069         (WebCore::InspectorAgent::setFrontend):
2070         (WebCore::InspectorAgent::clearFrontend):
2071         (WebCore::InspectorAgent::enable):
2072         (WebCore::InspectorAgent::evaluateForTestInFrontend):
2073         * inspector/InspectorAgent.h:
2074         * inspector/front-end/inspector.js:
2075
2076 2011-11-30  Andreas Kling  <kling@webkit.org>
2077
2078         REGRESSION(r101172): It made fast/dom/clone-node-style.html assert.
2079         <http://webkit.org/b/73227>
2080
2081         Reviewed by Antti Koivisto.
2082
2083         r101172 inadvertently introduced a default assignment operator for CSSElementStyleDeclaration
2084         which caused StyledElement::copyNonAttributeProperties() to associate the element's inline
2085         style declaration with the element being cloned.
2086
2087         Replace CSSMutableStyleDeclaration::operator= by copyPropertiesAndStrictnessFrom()
2088         that matches the old behavior.
2089
2090         * css/CSSMutableStyleDeclaration.cpp:
2091         (WebCore::CSSMutableStyleDeclaration::copyPropertiesAndStrictnessFrom):
2092         * css/CSSMutableStyleDeclaration.h:
2093         * dom/StyledElement.cpp:
2094         (WebCore::StyledElement::copyNonAttributeProperties):
2095
2096 2011-11-30  Mary Wu  <mary.wu@torchmobile.com.cn>
2097
2098         remove buildinformation from BlackBerry porting build system
2099         https://bugs.webkit.org/show_bug.cgi?id=73276
2100
2101         Reviewed by Daniel Bates.
2102
2103         * PlatformBlackBerry.cmake: remove generated files BuildInformation.cpp/.h
2104
2105 2011-11-30  Luke Macpherson   <macpherson@chromium.org>
2106
2107         Implement Zoom Property in CSSSStyleApplyProperty.
2108         https://bugs.webkit.org/show_bug.cgi?id=72840
2109
2110         Reviewed by Andreas Kling.
2111
2112         Covered by fast/css/*zoom*.html
2113
2114         * css/CSSStyleApplyProperty.cpp:
2115         Add new handler for zoom property (based on existing code from CSSStyleSelector.cpp)
2116         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
2117         (WebCore::ApplyPropertyZoom::applyInheritValue):
2118         (WebCore::ApplyPropertyZoom::applyInitialValue):
2119         (WebCore::ApplyPropertyZoom::applyValue):
2120         (WebCore::ApplyPropertyZoom::createHandler):
2121         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2122         * css/CSSStyleSelector.cpp:
2123         Remove existing implementation.
2124         (WebCore::CSSStyleSelector::applyProperty):
2125         * css/CSSStyleSelector.h:
2126         (WebCore::CSSStyleSelector::document):
2127         Add getter for Document.
2128
2129 2011-11-30  David Reveman  <reveman@chromium.org>
2130
2131         [Chromium] Re-enable layer anti-aliasing on ChromeOS.
2132         https://bugs.webkit.org/show_bug.cgi?id=73361
2133
2134         Reviewed by James Robinson.
2135
2136         Anti-aliasing should be enabled by default on ChromeOS.
2137
2138         No new tests.
2139
2140         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2141         (WebCore::CCRenderSurface::drawLayer):
2142         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2143         (WebCore::CCTiledLayerImpl::draw):
2144
2145 2011-11-30  Michael Nordman  <michaeln@google.co>
2146
2147         [chromium] WebSQLDatabase could use some better error reporting.
2148         Instruments the database classes to report errors to a DatabaseObserver.
2149         https://bugs.webkit.org/show_bug.cgi?id=73258
2150
2151         Reviewed by David Levin.
2152
2153         No new tests, no content observable artifacts.
2154
2155         * storage/AbstractDatabase.cpp:
2156         (WebCore::AbstractDatabase::AbstractDatabase):
2157         (WebCore::AbstractDatabase::performOpenAndVerify):
2158         (WebCore::AbstractDatabase::incrementalVacuumIfNeeded):
2159         (WebCore::AbstractDatabase::reportOpenDatabaseResult):
2160         (WebCore::AbstractDatabase::reportChangeVersionResult):
2161         (WebCore::AbstractDatabase::reportStartTransactionResult):
2162         (WebCore::AbstractDatabase::reportCommitTransactionResult):
2163         (WebCore::AbstractDatabase::reportExecuteStatementResult):
2164         (WebCore::AbstractDatabase::reportVacuumDatabaseResult):
2165         * storage/AbstractDatabase.h:
2166         (WebCore::AbstractDatabase::isSyncDatabase):
2167         * storage/ChangeVersionWrapper.cpp:
2168         (WebCore::ChangeVersionWrapper::performPreflight):
2169         (WebCore::ChangeVersionWrapper::performPostflight):
2170         * storage/Database.cpp:
2171         (WebCore::Database::Database):
2172         * storage/DatabaseSync.cpp:
2173         (WebCore::DatabaseSync::DatabaseSync):
2174         (WebCore::DatabaseSync::changeVersion):
2175         * storage/SQLStatement.cpp:
2176         (WebCore::SQLStatement::execute):
2177         (WebCore::SQLStatement::setDatabaseDeletedError):
2178         (WebCore::SQLStatement::setVersionMismatchedError):
2179         (WebCore::SQLStatement::setFailureDueToQuota):
2180         * storage/SQLStatement.h:
2181         * storage/SQLTransaction.cpp:
2182         (WebCore::SQLTransaction::executeSQL):
2183         (WebCore::SQLTransaction::openTransactionAndPreflight):
2184         (WebCore::SQLTransaction::deliverTransactionCallback):
2185         (WebCore::SQLTransaction::runCurrentStatement):
2186         (WebCore::SQLTransaction::handleCurrentStatementError):
2187         (WebCore::SQLTransaction::deliverStatementCallback):
2188         (WebCore::SQLTransaction::postflightAndCommit):
2189         * storage/SQLTransactionSync.cpp:
2190         (WebCore::SQLTransactionSync::begin):
2191         (WebCore::SQLTransactionSync::commit):
2192         * storage/chromium/DatabaseObserver.h:
2193
2194 2011-11-30  Rafael Weinstein  <rafaelw@chromium.org>
2195
2196         [MutationObservers] V8 bindings don't properly wrap all calls into JS
2197         https://bugs.webkit.org/show_bug.cgi?id=72063
2198
2199         Reviewed by Adam Barth.
2200
2201         This patch changes cleans up script invocation in V8Proxy. It removes callFunctionWithoutFrame
2202         and changes callers to simply call instrumentedFunctionCall with a null Page. Also, it implements
2203         the non-static callFunction to be implemented in terms of instrumentedFunctionCall.
2204
2205         No new tests.
2206
2207         * bindings/v8/ScriptFunctionCall.cpp:
2208         (WebCore::ScriptCallback::call):
2209         * bindings/v8/V8NodeFilterCondition.cpp:
2210         (WebCore::V8NodeFilterCondition::acceptNode):
2211         * bindings/v8/V8Proxy.cpp:
2212         (WebCore::V8Proxy::callFunction):
2213         (WebCore::V8Proxy::instrumentedCallFunction):
2214         * bindings/v8/V8Proxy.h:
2215         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2216         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2217
2218 2011-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2219
2220         Unreviewed, rolling out r101440 and r101442.
2221         http://trac.webkit.org/changeset/101440
2222         http://trac.webkit.org/changeset/101442
2223         https://bugs.webkit.org/show_bug.cgi?id=73429
2224
2225         multiple crashes on layout tests (Requested by hayato on
2226         #webkit).
2227
2228         * platform/graphics/chromium/LayerRendererChromium.cpp:
2229         (WebCore::LayerRendererChromium::initialize):
2230         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2231         (WebCore::WebGLLayerChromium::layerRendererContext):
2232         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2233         (WebCore::CCHeadsUpDisplay::enabled):
2234         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2235         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2236         (WebCore::CCLayerTreeHost::initialize):
2237         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2238         (WebCore::CCLayerTreeHost::context):
2239         (WebCore::CCLayerTreeHost::setNeedsAnimate):
2240         (WebCore::CCLayerTreeHost::setNeedsCommit):
2241         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2242         (WebCore::CCLayerTreeHost::composite):
2243         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2244         (WebCore::CCSettings::CCSettings):
2245         * platform/graphics/chromium/cc/CCProxy.cpp:
2246         (WebCore::CCProxy::isMainThread):
2247         (WebCore::CCProxy::isImplThread):
2248         (WebCore::CCProxy::setImplThread):
2249         * platform/graphics/chromium/cc/CCProxy.h:
2250         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2251         (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
2252         (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
2253
2254 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
2255
2256         Download page URL should be set by WebCore
2257         https://bugs.webkit.org/show_bug.cgi?id=73358
2258
2259         Reviewed by Darin Adler.
2260
2261         No change in behavior, just refactoring.
2262
2263         * loader/FrameLoader.h:
2264         * loader/FrameLoader.cpp:
2265         (WebCore::originatingURLFromBackForwardList):
2266         (WebCore::FrameLoader::setOriginalURLForDownloadRequest):
2267         Moved implementations from WebKit, added a bunch of FIXMEs.
2268
2269         * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy):
2270         Set main document URL (incorrectly renamed to "first party for cookies" in WebCore), so that
2271         CFNetwork would automatically use it.
2272
2273         * loader/PolicyChecker.cpp: (WebCore::PolicyChecker::continueAfterNavigationPolicy): Ditto
2274         for requests that start as downloads (as opposed to being converted after reading first bits
2275         of response).
2276
2277 2011-11-30  Rafael Weinstein  <rafaelw@chromium.org>
2278
2279         Remove unused isInlineCode from V8Proxy
2280         https://bugs.webkit.org/show_bug.cgi?id=73341
2281
2282         Reviewed by Adam Barth.
2283
2284         No tests needed. This patch only removes unnecessary code.
2285
2286         * bindings/v8/V8LazyEventListener.cpp:
2287         (WebCore::V8LazyEventListener::prepareListenerObject):
2288         * bindings/v8/V8Proxy.cpp:
2289         (WebCore::V8Proxy::V8Proxy):
2290         (WebCore::V8Proxy::evaluate):
2291         (WebCore::V8Proxy::runScript):
2292         * bindings/v8/V8Proxy.h:
2293
2294 2011-11-30  Andrew Wason  <rectalogic@rectalogic.com>
2295
2296         Replace Qt QThread threading back-end with pthread/Win32 threading back-ends
2297         https://bugs.webkit.org/show_bug.cgi?id=72155
2298
2299         Reviewed by Simon Hausmann.
2300
2301         Need to include qglobal.h since ThreadingPrimitives.h no longer does.
2302
2303         * platform/network/NetworkingContext.h:
2304
2305 2011-11-30  Jongseok Yang  <js45.yang@samsung.com>
2306
2307         [SOUP][WK2] Implement the functions to manager cookies in CookieJar for WebKit2
2308         https://bugs.webkit.org/show_bug.cgi?id=72353
2309
2310         r79722 inserted the functions to manange cookies from web process.
2311         (getHostnamesWithCookies,deleteCookiesForHostname,deleteAllCookies)
2312         Implement the functions for soup network backend.
2313
2314         Reviewed by Martin Robinson.
2315
2316         * platform/network/soup/CookieJarSoup.cpp:
2317         (WebCore::getHostnamesWithCookies):
2318         (WebCore::deleteCookiesForHostname):
2319         (WebCore::deleteAllCookies):
2320
2321 2011-11-30  Daniel Sievers  <sievers@chromium.org>
2322
2323         [Chromium] Avoid ASSERT_NOT_REACHED() from creating FBO with content texture of size 0
2324         https://bugs.webkit.org/show_bug.cgi?id=73266
2325
2326         Remove render surface layers with no children after clipping to
2327         the parent layer.
2328
2329         Move the check for empty render surfaces after the piece of code
2330         used to apply the parent's clip, as we might end up calling
2331         renderSurface->clearLayerList().
2332
2333         Render surfaces with no children or visible content are unexpected
2334         especially at draw time where we might try to create a content
2335         texture and FBO with a size of zero, which will fail. This fixes
2336         an ASSERT_NOT_REACHED() for checkFramebufferStatus() != COMPLETE
2337
2338         Reviewed by James Robinson.
2339
2340         Added unit test.
2341
2342         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2343         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2344
2345 2011-11-30  Pavel Feldman  <pfeldman@google.com>
2346
2347         Web Inspector: do not report worker-related events unless inspector agent is enabled.
2348         https://bugs.webkit.org/show_bug.cgi?id=73411
2349
2350         Backend should not generate messages until the client requests that they are sent.
2351
2352         Reviewed by Yury Semikhatsky.
2353
2354         * inspector/Inspector.json:
2355         * inspector/InspectorAgent.cpp:
2356         (WebCore::InspectorAgent::setFrontend):
2357         (WebCore::InspectorAgent::clearFrontend):
2358         (WebCore::InspectorAgent::enable):
2359         (WebCore::InspectorAgent::disable):
2360         (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
2361         (WebCore::InspectorAgent::didCreateWorker):
2362         (WebCore::InspectorAgent::didDestroyWorker):
2363         (WebCore::InspectorAgent::developerExtrasEnabled):
2364         * inspector/InspectorAgent.h:
2365         * inspector/InspectorController.cpp:
2366         (WebCore::InspectorController::enabled):
2367         * inspector/InspectorInstrumentation.cpp:
2368         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
2369         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2370         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
2371         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
2372         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
2373         * inspector/InspectorPageAgent.cpp:
2374         * inspector/PageConsoleAgent.cpp:
2375         (WebCore::PageConsoleAgent::developerExtrasEnabled):
2376         * inspector/front-end/WorkerManager.js:
2377         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
2378         (WebInspector.WorkerManager.prototype._disconnectedFromWorker):
2379         (WebInspector.DedicatedWorkerMessageForwarder.prototype.dispatchMessageFromWorker):
2380         (WebInspector.DedicatedWorkerMessageForwarder.prototype.disconnectedFromWorker):
2381         * inspector/front-end/inspector.js:
2382
2383 2011-11-30  Jacky Jiang  <zhajiang@rim.com>
2384
2385         Upstream BlackBerry porting of WebCore/editing.
2386         https://bugs.webkit.org/show_bug.cgi?id=73275
2387
2388         Reviewed by Daniel Bates.
2389
2390         Initial upstream, no new tests.
2391
2392         * editing/blackberry/EditorBlackBerry.cpp: Added.
2393         (WebCore::Editor::newGeneralClipboard):
2394         * editing/blackberry/SmartReplaceBlackBerry.cpp: Added.
2395         (WebCore::isCharacterSmartReplaceExempt):
2396
2397 2011-11-30  Noel Gordon  <noel.gordon@gmail.com>
2398
2399         JPEGImageDecoder: Code input color space case entries in numerical order
2400         https://bugs.webkit.org/show_bug.cgi?id=73287
2401
2402         Reviewed by Adam Barth.
2403
2404         No new tests. Covered by existing tests.
2405
2406         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2407         (WebCore::JPEGImageReader::decode): JCS_YCbCr is one greater than JSC_RGB.
2408
2409 2011-11-30  Alexandru Chiculita  <achicu@adobe.com>
2410
2411         FilterOperation* should stay in rendering/style, because it is directly referenced from RenderStyle
2412         https://bugs.webkit.org/show_bug.cgi?id=72539
2413
2414         Reviewed by Dean Jackson.
2415
2416         No new tests, just moving some files.
2417
2418         * CMakeLists.txt:
2419         * GNUmakefile.list.am:
2420         * Target.pri:
2421         * WebCore.gypi:
2422         * WebCore.vcproj/WebCore.vcproj:
2423         * WebCore.xcodeproj/project.pbxproj:
2424         * rendering/style/CustomFilterOperation.h: Renamed from Source/WebCore/platform/graphics/filters/CustomFilterOperation.h.
2425         * rendering/style/FilterOperation.h: Renamed from Source/WebCore/platform/graphics/filters/FilterOperation.h.
2426         * rendering/style/FilterOperations.cpp: Renamed from Source/WebCore/platform/graphics/filters/FilterOperations.cpp.
2427         * rendering/style/FilterOperations.h: Renamed from Source/WebCore/platform/graphics/filters/FilterOperations.h.
2428
2429 2011-11-29  Kentaro Hara  <haraken@chromium.org>
2430
2431         StorageEvent.key should not be nullable
2432         https://bugs.webkit.org/show_bug.cgi?id=73125
2433
2434         Reviewed by Adam Barth.
2435
2436         Currently, document.createEvent('StorageEvent').key is evaluated as null.
2437         However, the spec (http://www.whatwg.org/specs/web-apps/current-work/#storageevent)
2438         says that StorageEvent.key is not a nullable type, and thus
2439         document.createEvent('StorageEvent').key should be '' (an empty string).
2440
2441         * storage/StorageEvent.idl: Removed a [ConvertNullStringTo=Null] IDL from StorageEvent.key.
2442
2443 2011-11-29  Philip Rogers  <pdr@google.com>
2444
2445         Fix for fill color not being applied inside visited links
2446         https://bugs.webkit.org/show_bug.cgi?id=70434
2447
2448         Reviewed by Antti Koivisto.
2449
2450         Test: svg/custom/visited-link-color.svg
2451
2452         * rendering/style/SVGRenderStyle.h:
2453         (WebCore::SVGRenderStyle::setFillPaint):
2454         (WebCore::SVGRenderStyle::setStrokePaint):
2455
2456 2011-11-29  David Levin  <levin@chromium.org>
2457
2458         Add a way to revert a variable to its previous value after leaving a scope.
2459         https://bugs.webkit.org/show_bug.cgi?id=73371
2460
2461         Reviewed by Adam Barth.
2462
2463         * ForwardingHeaders/wtf/TemporarilyChange.h: Added.
2464
2465 2011-11-28  Kentaro Hara  <haraken@chromium.org>
2466
2467         Implement [Supplemental] IDL and support it in run-bindings-tests
2468         https://bugs.webkit.org/show_bug.cgi?id=73162
2469
2470         Reviewed by Adam Barth.
2471
2472         - Overview:
2473             - Implement the [Supplemental] IDL in resolve-supplemental.pl and generate-bindings.pl.
2474             - Support the [Supplemental] IDL in run-bindings-tests.
2475             - Add TestSupplemental.idl as a binding test and confirm that it works.
2476
2477         - The spec for the [Supplemental] IDL: http://dev.w3.org/2006/webapi/WebIDL/#dfn-supplemental-interface
2478
2479         - This patch affects run-bindings-tests results only and does not affect any real builds
2480         since no [Supplemental] IDL has been written in real WebCore IDL files for now.
2481
2482         - This patch makes a change on CodeGenerator*.pm to support the [Supplemental] IDL
2483         for (custom) getters and setters.
2484
2485         - Added perl scripts implement the [Supplemental] IDL as follows:
2486
2487             Previous build flow:
2488                 foreach $idl (all IDL files) {
2489                     generate-bindings.pl depends on $idl;
2490                     generate-bindings.pl reads $idl;
2491                     generate-bindings.pl generates .h and .cpp files for $idl;
2492                 }
2493
2494             New build flow (See the discussions in bug 72138 for more details):
2495                 resolve-supplemental.pl depends on all IDL files;
2496                 resolve-supplemental.pl reads all IDL files;
2497                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
2498                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
2499                 foreach $idl (all IDL files) {
2500                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
2501                     generate-bindings.pl reads $idl;
2502                     generate-bindings.pl reads supplemental_dependency.tmp;
2503                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files which are implementing $idl;
2504                 }
2505
2506         Tests: bindings/scripts/test/TestSupplemental.idl
2507
2508         * bindings/scripts/generate-bindings.pl: The input is an IDL file |x| and the dependency file. generate-bindings.pl generates .h and .cpp files for the IDL file |x|, including all the attributes in the IDL files which are implementing the IDL file |x|. generate-bindings.pl addes the [ImplementedBy] IDL to the attributes with the [Supplemental] IDL in order to indicate what IDL is implementing the attributes.
2509         * bindings/scripts/resolve-supplemental.pl: Added. resolve-supplemental.pl reads all IDL files, resolves [Supplemental=XXX] dependencies, and then outputs the dependency file. See the comment in resolve-supplemental.pl for the format of the dependency file.
2510
2511         * bindings/scripts/CodeGenerator.pm:
2512         (GenerateConditionalStringFromAttributeValue): Avoids duplicated conditions.
2513         * bindings/scripts/CodeGeneratorJS.pm:
2514         (GenerateHeader): If an attribute is [ImplementedBy] another IDL, then we omit the declaration of the custom getter and setter.
2515         (GenerateImplementation): If an attribute is [ImplementedBy] another IDL, then we call back the (custom) getter and setter of the IDL.
2516         * bindings/scripts/CodeGeneratorV8.pm:
2517         (GenerateHeader): If an attribute is [ImplementedBy] another IDL, then we omit the declaration of the custom getter and setter.
2518         (GenerateNormalAttrGetter): If an attribute is [ImplementedBy] another IDL, then we call back the getter of the IDL.
2519         (GenerateNormalAttrSetter): If an attribute is [ImplementedBy] another IDL, then we call back the setter of the IDL.
2520         (GenerateSingleBatchedAttribute): If an attribute is [ImplementedBy] another IDL, then we call back the custom getter or setter of the IDL.
2521         * bindings/scripts/CodeGeneratorCPP.pm:
2522         (GenerateImplementation): If an attribute is [ImplementedBy] another IDL, then we call back the getter and setter of the IDL. CodeGeneratorCPP.pm does not support a custom getter and setter.
2523         * bindings/scripts/CodeGeneratorGObject.pm:
2524         (GenerateProperty): Ditto.
2525         * bindings/scripts/CodeGeneratorObjC.pm:
2526         (GenerateImplementation): Ditto.
2527
2528         * bindings/scripts/test/TestSupplemental.idl: Added. A test case for the [Supplemental] IDL.
2529         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated a run-bindings-tests result.
2530         (WebDOMTestInterface::str1):
2531         (WebDOMTestInterface::str2):
2532         (WebDOMTestInterface::setStr2):
2533         * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
2534         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
2535         (webkit_dom_test_interface_get_str1):
2536         (webkit_dom_test_interface_get_str2):
2537         (webkit_dom_test_interface_set_str2):
2538         (webkit_dom_test_interface_set_property):
2539         (webkit_dom_test_interface_get_property):
2540         (webkit_dom_test_interface_class_init):
2541         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
2542         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
2543         (WebCore::jsTestInterfaceStr1):
2544         (WebCore::jsTestInterfaceStr2):
2545         (WebCore::jsTestInterfaceStr3):
2546         (WebCore::JSTestInterface::put):
2547         (WebCore::setJSTestInterfaceStr2):
2548         (WebCore::setJSTestInterfaceStr3):
2549         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
2550         * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
2551         * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
2552         (-[DOMTestInterface str1]):
2553         (-[DOMTestInterface str2]):
2554         (-[DOMTestInterface setStr2:]):
2555         (-[DOMTestInterface str3]):
2556         (-[DOMTestInterface setStr3:]):
2557         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
2558         (WebCore::TestInterfaceInternal::str1AttrGetter):
2559         (WebCore::TestInterfaceInternal::str2AttrGetter):
2560         (WebCore::TestInterfaceInternal::str2AttrSetter):
2561         (WebCore::ConfigureV8TestInterfaceTemplate):
2562
2563 2011-11-29  Leo Yang  <leo.yang@torchmobile.com.cn>
2564
2565         Upstream platform/network/blackberry/ProxyServerBlackBerry.cpp
2566         https://bugs.webkit.org/show_bug.cgi?id=73288
2567
2568         Reviewed by Antonio Gomes.
2569
2570         Initial upstream, can't be built yet, no new tests.
2571
2572         * platform/network/blackberry/ProxyServerBlackBerry.cpp: Added.
2573         (WebCore::proxyServersForURL):
2574
2575 2011-11-29  Jessie Berlin  <jberlin@apple.com>
2576
2577         WKKeyValueStorageManagerGetKeyValueStorageOrigins may not report the correct list of origins
2578         the first time it is called.
2579         https://bugs.webkit.org/show_bug.cgi?id=73374 (<rdar://problem/10196057>)
2580
2581         Reviewed by Brady Eidson.
2582
2583         Add a callback for when the Storage Tracker is done loading the list of origins with Local
2584         Storage.
2585
2586         * storage/StorageTracker.cpp:
2587         (WebCore::StorageTracker::StorageTracker):
2588         Keep track of whether the import from disk has been completed.
2589         (WebCore::StorageTracker::notifyFinishedImportingOriginIdentifiersOnMainThread):
2590         (WebCore::StorageTracker::finishedImportingOriginIdentifiers):
2591         Set m_finishedImportingOriginIdentifiers to true and tell the client.
2592         (WebCore::StorageTracker::syncImportOriginIdentifiers):
2593         When finished, notify the shared StorageTracker on the main thread.
2594         * storage/StorageTracker.h:
2595         (WebCore::StorageTracker::originsLoaded):
2596
2597         * storage/StorageTrackerClient.h:
2598         Add didFinishLoadingOrigins.
2599
2600 2011-11-18  Nat Duca  <nduca@chromium.org>
2601
2602         [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
2603         https://bugs.webkit.org/show_bug.cgi?id=70838
2604
2605         Reviewed by James Robinson.
2606
2607         * platform/graphics/chromium/LayerRendererChromium.cpp:
2608         (WebCore::LayerRendererChromium::initialize):
2609         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2610         (WebCore::WebGLLayerChromium::layerRendererContext):
2611         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2612         (WebCore::CCHeadsUpDisplay::enabled):
2613         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2614         (WebCore::CCLayerTreeHost::initialize):
2615         (WebCore::CCLayerTreeHost::context):
2616         (WebCore::CCLayerTreeHost::setNeedsAnimate):
2617         (WebCore::CCLayerTreeHost::setNeedsCommit):
2618         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2619         (WebCore::CCLayerTreeHost::composite):
2620         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2621         (WebCore::CCSettings::CCSettings):
2622         * platform/graphics/chromium/cc/CCProxy.cpp:
2623         (WebCore::CCProxy::isMainThread):
2624         (WebCore::CCProxy::isImplThread):
2625         (WebCore::CCProxy::setMainThreadIsImplThread):
2626         * platform/graphics/chromium/cc/CCProxy.h:
2627         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2628         (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
2629         (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
2630
2631 2011-11-29  Erik Arvidsson  <arv@chromium.org>
2632
2633         WebIDL: Add support for static for JSC and V8
2634         https://bugs.webkit.org/show_bug.cgi?id=72998
2635
2636         Reviewed by Adam Barth.
2637
2638         WebIDL uses "static" for class methods. We used to use "[ClassMethod]". This change makes us use the WebIDL syntax instead.
2639
2640         No new tests: Covered by existing tests.
2641
2642         * bindings/scripts/CodeGeneratorJS.pm:
2643         (GetFunctionName): Use isStatic instead.
2644         (GenerateOverloadedFunction): Ditto.
2645         (GenerateImplementation): Ditto.
2646         (GenerateParametersCheck): Ditto.
2647         (GenerateImplementationFunctionCall): Ditto.
2648         (GenerateConstructorDefinition): Ditto.
2649         * bindings/scripts/CodeGeneratorV8.pm:
2650         (GenerateFunctionCallback): Ditto.
2651         (GenerateImplementation): Ditto.
2652         (GenerateFunctionCallString): Ditto.
2653         * bindings/scripts/IDLParser.pm:
2654         (ParseInterface): Set isStatic as needed.
2655         * bindings/scripts/IDLStructure.pm: Update regular expression to parse "static".
2656         * bindings/scripts/test/TestObj.idl: Use static instead of [ClassMethod].
2657         * storage/IDBKeyRange.idl: Ditto.
2658
2659 2011-11-29  Kentaro Hara  <haraken@chromium.org>
2660
2661         Unreviewed. Rebaselined a run-bindings-tests result.
2662
2663         * bindings/scripts/test/JS/JSFloat64Array.h:
2664
2665 2011-11-10  Xiaomei Ji  <xji@chromium.org>
2666
2667         --webkit-visual-word should be able to reach end of text, instead of end of line
2668         https://bugs.webkit.org/show_bug.cgi?id=72048
2669
2670         Reviewed by Ryosuke Niwa.
2671
2672         Revert r92223 -- webkit-visual-word should reach boundary of line.
2673         When there is no more left or right words in the same editing boundary and
2674         current position is an editable position, return start or end position in this
2675         editable content.
2676
2677         Test: editing/selection/move-by-word-visually-textarea.html
2678
2679         * editing/visible_units.cpp:
2680         (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
2681         (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
2682         (WebCore::leftWordPosition):
2683         (WebCore::rightWordPosition):
2684
2685 2011-11-29  Oliver Hunt  <oliver@apple.com>
2686
2687         Allow WebCore to describe typed arrays to JSC
2688         https://bugs.webkit.org/show_bug.cgi?id=73355
2689
2690         Reviewed by Gavin Barraclough.
2691
2692         Update bindings codegen to report the data layout to JSC.
2693
2694         * bindings/scripts/CodeGeneratorJS.pm:
2695         (GenerateHeader):
2696         (GenerateImplementation):
2697         * bindings/scripts/test/JS/JSFloat64Array.cpp:
2698         (WebCore::JSFloat64Array::finishCreation):
2699         * bindings/scripts/test/JS/JSFloat64Array.h:
2700
2701 2011-11-29  Tony Chang  <tony@chromium.org>
2702
2703         Rename some flexbox functions to be less confusing
2704         https://bugs.webkit.org/show_bug.cgi?id=73363
2705
2706         Reviewed by Ojan Vafai.
2707
2708         These methods no longer have anything to do with block/inline direction.
2709
2710         No new tests, just renaming some functions.
2711
2712         * rendering/RenderFlexibleBox.cpp:
2713         (WebCore::RenderFlexibleBox::layoutBlock):
2714         (WebCore::RenderFlexibleBox::layoutFlexItems):
2715         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
2716         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2717         (WebCore::RenderFlexibleBox::alignChildren):
2718         * rendering/RenderFlexibleBox.h:
2719
2720 2011-11-29  Erik Arvidsson  <arv@chromium.org>
2721
2722         Add support for [ClassMethod] to CodeGeneratorJS.pm
2723         https://bugs.webkit.org/show_bug.cgi?id=73342
2724
2725         Reviewed by Adam Barth.
2726
2727         If a method is annotated with [ClassMethod] it will become a method on the JS constructor object and it will
2728         call a static function on the C++ class. 
2729
2730         This was previously only implemented in CodeGeneratorV8.pm so this brings JSC up to par.
2731
2732         No new tests: Covered by bindings/scripts/test/
2733
2734         * bindings/scripts/CodeGeneratorJS.pm:
2735         (GetFunctionName): Refactor to reduce code duplication.
2736         (GenerateHeader): Ditto.
2737         (GenerateOverloadedFunction): This now handles both prototype functions and constructor functions.
2738         (GenerateImplementation): Define class methods too. 
2739         (GenerateParametersCheck): Generate the right function access string.
2740         (GenerateImplementationFunctionCall): SVG properties are not static methods.
2741         (GenerateConstructorDefinition): For classes that have static methods we may now return function properties.
2742         * bindings/scripts/test/JS/JSTestObj.cpp:
2743         (WebCore::JSTestObjConstructor::getOwnPropertySlot): Ditto.
2744         (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor): Ditto.
2745         (WebCore::jsTestObjConstructorFunctionClassMethod): Now calls a static function.
2746         (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): Ditto.
2747         * bindings/scripts/test/JS/JSTestObj.h:
2748
2749 2011-11-29  Sam Weinig  <sam@webkit.org>
2750
2751         Remove unused JSDOMWrapperOwner
2752         https://bugs.webkit.org/show_bug.cgi?id=73357
2753
2754         Reviewed by Adam Barth.
2755
2756         * bindings/js/DOMWrapperWorld.cpp:
2757         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
2758         * bindings/js/DOMWrapperWorld.h:
2759         (WebCore::DOMWrapperWorld::globalData):
2760         Remove JSDOMWrapperOwner. It is unused.
2761
2762 2011-11-29  Anders Carlsson  <andersca@apple.com>
2763
2764         Use contentsToRootView when converting the mouse coordinates for the context menu key event
2765         https://bugs.webkit.org/show_bug.cgi?id=73352
2766
2767         Reviewed by Adam Roben.
2768
2769         No new tests: Already covered by existing tests.
2770
2771         This is another step towards fixing https://bugs.webkit.org/show_bug.cgi?id=71945, by getting
2772         rid of a call to ScrollView::contentsToWindow.
2773
2774         * page/EventHandler.cpp:
2775         (WebCore::EventHandler::sendContextMenuEventForKey):
2776
2777 2011-11-15  Anders Carlsson  <andersca@apple.com>
2778
2779         DragClient::dragSourceActionMaskForPoint should use root view coordinates
2780         https://bugs.webkit.org/show_bug.cgi?id=72409
2781
2782         Reviewed by Sam Weinig.
2783
2784         * page/DragClient.h:
2785         Rename parameter and remove obsolete comment.
2786
2787         * page/DragController.cpp:
2788         (WebCore::DragController::delegateDragSourceAction):
2789         * page/DragController.h:
2790         Rename parameter.
2791
2792         * page/EventHandler.cpp:
2793         (WebCore::EventHandler::updateDragSourceActionsAllowed):
2794         Use contentsToRootView instead of contentsToWindow.
2795
2796 2011-11-15  Anders Carlsson  <andersca@apple.com>
2797
2798         EditorClient::showCorrectionPanel should pass the string bounding box in root view coordinates
2799         https://bugs.webkit.org/show_bug.cgi?id=72408
2800
2801         Reviewed by Sam Weinig.
2802
2803         Rename windowRectForRange to rootViewRectForRange and use contentsToRootView instead of contentsToWindow.
2804
2805         * editing/SpellingCorrectionController.cpp:
2806         (WebCore::SpellingCorrectionController::show):
2807         (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
2808         (WebCore::SpellingCorrectionController::rootViewRectForRange):
2809         * editing/SpellingCorrectionController.h:
2810         
2811 2011-11-29  Ojan Vafai  <ojan@chromium.org>
2812
2813         invalid cast in WebCore::toRenderBox / WebCore::RenderBox::firstChildBox
2814         https://bugs.webkit.org/show_bug.cgi?id=72668
2815
2816         Reviewed by David Hyatt.
2817
2818         For new flexible boxes, we were setting childrenInline to true when
2819         merging anonymous blocks, which we should never do. Do the same thing
2820         we do for the deprecated flexboxes.
2821
2822         Test: css3/flexbox/anonymous-block-merge-crash.html
2823
2824         * rendering/RenderBlock.cpp:
2825         (WebCore::RenderBlock::removeChild):
2826         * rendering/RenderObject.h:
2827         (WebCore::RenderObject::setChildrenInline):
2828         The default value of true was never used. Better to keep it explicit.
2829
2830 2011-11-28  Ryosuke Niwa  <rniwa@webkit.org>
2831
2832         Crash in IsolateTracker::addFakeRunIfNecessary(), preceded by assertion failure (m_nestedIsolateCount >= 1)
2833         in IsolateTracker::exitIsolate()
2834         https://bugs.webkit.org/show_bug.cgi?id=69275
2835
2836         Reviewed by Eric Seidel.
2837
2838         The crash was caused by our false assumption that at most one isolated container exists between the start
2839         and the root when appending a new run. Fixed the crash by computing the actual number of isolated containers
2840         between the start and the root.
2841
2842         Test: fast/text/nested-bidi-isolate-crash.html
2843
2844         * rendering/InlineIterator.h:
2845         (WebCore::numberOfIsolateAncestors):
2846         (WebCore::IsolateTracker::IsolateTracker):
2847         (WebCore::InlineBidiResolver::appendRun):
2848
2849 2011-11-29  Oliver Hunt  <oliver@apple.com>
2850
2851         Revert that last change, apparently it destroys everything in the world.
2852
2853         * bindings/js/DOMWrapperWorld.h:
2854         * bindings/js/JSArrayBufferViewHelper.h:
2855         (WebCore::toJSArrayBufferView):
2856         * bindings/js/JSCSSRuleCustom.cpp:
2857         (WebCore::toJS):
2858         * bindings/js/JSCSSValueCustom.cpp:
2859         (WebCore::toJS):
2860         * bindings/js/JSDOMBinding.h:
2861         (WebCore::setInlineCachedWrapper):
2862         (WebCore::clearInlineCachedWrapper):
2863         (WebCore::getCachedWrapper):
2864         (WebCore::cacheWrapper):
2865         (WebCore::wrap):
2866         * bindings/js/JSDOMWindowCustom.cpp:
2867         (WebCore::JSDOMWindow::history):
2868         (WebCore::JSDOMWindow::location):
2869         * bindings/js/JSDocumentCustom.cpp:
2870         (WebCore::JSDocument::location):
2871         (WebCore::toJS):
2872         * bindings/js/JSEventCustom.cpp:
2873         (WebCore::toJS):
2874         * bindings/js/JSHTMLCollectionCustom.cpp:
2875         (WebCore::toJS):
2876         * bindings/js/JSImageDataCustom.cpp:
2877         (WebCore::toJS):
2878         * bindings/js/JSSVGPathSegCustom.cpp:
2879         (WebCore::toJS):
2880         * bindings/js/JSStyleSheetCustom.cpp:
2881         (WebCore::toJS):
2882         * bindings/js/JSTrackCustom.cpp:
2883         (WebCore::toJS):
2884
2885 2011-11-29  Tony Chang  <tony@chromium.org>
2886
2887         flex-align:stretch + max-height needs to clamp to max-height and position appropriately
2888         https://bugs.webkit.org/show_bug.cgi?id=70780
2889
2890         Reviewed by David Hyatt.
2891
2892         Test: css3/flexbox/flex-align-max.html
2893
2894         * rendering/RenderBox.cpp:
2895         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth): When laying out columns, if the flex item is stretching,
2896         we don't need to shrink wrap.
2897         * rendering/RenderFlexibleBox.cpp:
2898         (WebCore::RenderFlexibleBox::isColumnFlow): Switch to RenderStyle helper method.
2899         (WebCore::RenderFlexibleBox::alignChildrenBlockDirection): For columns, we don't need to do anything.
2900         For rows, handle max logical height by setting the height and recomputing (which will take max-height
2901         into consideration).
2902         * rendering/style/RenderStyle.h:
2903         (WebCore::InheritedFlags::isColumnFlexFlow): Helper method.
2904
2905 2011-11-29  Tony Chang  <tony@chromium.org>
2906
2907         [chromium] Remove unused variable (gcc 4.6 complains about this)
2908         https://bugs.webkit.org/show_bug.cgi?id=73335
2909
2910         ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.cpp:296:19:
2911         error: variable 'oldReplicaMaskRect' set but not used [-Werror=unused-but-set-variable]
2912
2913         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
2914         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
2915
2916 2011-11-29  Oliver Hunt  <oliver@apple.com>
2917
2918         DOM wrapper cache doesn't need to use JSDOMWrapper
2919         https://bugs.webkit.org/show_bug.cgi?id=73333
2920
2921         Reviewed by Sam Weinig.
2922
2923         Make JSDOMWrapperCache use JSObject rather than JSDOMWrapper
2924         and propagate the type change out. 
2925
2926         * bindings/js/DOMWrapperWorld.h:
2927         * bindings/js/JSArrayBufferViewHelper.h:
2928         (WebCore::toJSArrayBufferView):
2929         * bindings/js/JSCSSRuleCustom.cpp:
2930         (WebCore::toJS):
2931         * bindings/js/JSCSSValueCustom.cpp:
2932         (WebCore::toJS):
2933         * bindings/js/JSDOMBinding.h:
2934         (WebCore::setInlineCachedWrapper):
2935         (WebCore::clearInlineCachedWrapper):
2936         (WebCore::getCachedWrapper):
2937         (WebCore::cacheWrapper):
2938         (WebCore::wrap):
2939         * bindings/js/JSDOMWindowCustom.cpp:
2940         (WebCore::JSDOMWindow::history):
2941         (WebCore::JSDOMWindow::location):
2942         * bindings/js/JSDocumentCustom.cpp:
2943         (WebCore::JSDocument::location):
2944         (WebCore::toJS):
2945         * bindings/js/JSEventCustom.cpp:
2946         (WebCore::toJS):
2947         * bindings/js/JSHTMLCollectionCustom.cpp:
2948         (WebCore::toJS):
2949         * bindings/js/JSImageDataCustom.cpp:
2950         (WebCore::toJS):
2951         * bindings/js/JSSVGPathSegCustom.cpp:
2952         (WebCore::toJS):
2953         * bindings/js/JSStyleSheetCustom.cpp:
2954         (WebCore::toJS):
2955         * bindings/js/JSTrackCustom.cpp:
2956         (WebCore::toJS):
2957
2958 2011-11-29  Philippe Normand  <pnormand@igalia.com>
2959
2960         Unreviewed, GTK build fix after r101392.
2961
2962         * GNUmakefile.am: USE_WEBAUDIO_FFTW was removed, don't use it anymore.
2963
2964 2011-11-28  Vsevolod Vlasov  <vsevik@chromium.org>
2965
2966         Web Inspector: TextPrompt should show suggest above or under so that it has maximal height.
2967         https://bugs.webkit.org/show_bug.cgi?id=73239
2968
2969         Reviewed by Pavel Feldman.
2970
2971         Fixed suggest box vertical position / height calculation.
2972         Added round corners when suggest box is positioned under text prompt.
2973
2974         * inspector/front-end/TextPrompt.js:
2975         (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
2976         * inspector/front-end/inspector.css:
2977         (.suggest-box.generic-suggest.under-anchor):
2978
2979 2011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2980
2981         Unreviewed. Fix the GTK+ port build after r101307.
2982
2983         * GNUmakefile.list.am: Add missing files to compilation.
2984
2985 2011-11-29  Pavel Feldman  <pfeldman@google.com>
2986
2987         Web Inspector: split Preferences into Preferences and Capabilities.
2988         https://bugs.webkit.org/show_bug.cgi?id=73321
2989
2990         Part of the Preferences defined in Settings.js are in fact backend capabilities.
2991         Split them into two separate objects for further capabilities refactoring.
2992
2993         Reviewed by Yury Semikhatsky.
2994
2995         * inspector/front-end/DebuggerModel.js:
2996         * inspector/front-end/ElementsPanel.js:
2997         (WebInspector.ElementsPanel):
2998         (WebInspector.ElementsPanel.prototype.wasShown):
2999         (WebInspector.ElementsPanel.prototype._populateContextMenu):
3000         * inspector/front-end/NetworkItemView.js:
3001         (WebInspector.NetworkItemView):
3002         * inspector/front-end/NetworkPanel.js:
3003         (WebInspector.NetworkLogView.prototype._createTable):
3004         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
3005         (WebInspector.NetworkLogView.prototype.switchToBriefView):
3006         (WebInspector.NetworkLogView.prototype._contextMenu):
3007         (WebInspector.NetworkDataGridNode.prototype.createCells):
3008         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
3009         * inspector/front-end/ProfileDataGridTree.js:
3010         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
3011         * inspector/front-end/ProfileView.js:
3012         * inspector/front-end/ProfilesPanel.js:
3013         (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
3014         * inspector/front-end/Resource.js:
3015         (WebInspector.Resource.prototype.populateImageSource):
3016         * inspector/front-end/ScriptsPanel.js:
3017         (WebInspector.ScriptsPanel.prototype.wasShown):
3018         (WebInspector.ScriptsPanel.prototype._clearInterface):
3019         * inspector/front-end/Settings.js:
3020         * inspector/front-end/SettingsScreen.js:
3021         (WebInspector.SettingsScreen):
3022         * inspector/front-end/StylesSidebarPane.js:
3023         * inspector/front-end/inspector.js:
3024
3025 2011-11-29  Simon Hausmann  <simon.hausmann@nokia.com>
3026
3027         [Qt] Make WebCore compile with Qt 5 and V8
3028         https://bugs.webkit.org/show_bug.cgi?id=73313
3029
3030         Reviewed by Tor Arne Vestbø.
3031
3032         * DerivedSources.pri: Add missing V8 specific IDL files to the build.
3033         * Target.pri: Ditto.
3034         * bindings/v8/ScriptController.h: V8 NPAPI bindings don't really support
3035         building with ENABLE_NETSCAPE_PLUGIN_API=0. These functions are always
3036         defined, so they also need to be declared.
3037         * platform/qt/PlatformSupportQt.cpp: 
3038         (WebCore::PlatformSupport::pluginScriptableObject): Don't return a
3039         scriptable object when compiling without npapi.
3040         * storage/StorageAreaImpl.cpp: Add missing Document.h include that is
3041         included implicitly with the Chromium build but not with Qt.
3042         * xml/XSLTProcessorQt.cpp: Ditto.
3043
3044 2011-11-29  Pavel Feldman  <pfeldman@google.com>
3045
3046         Not reviewed: fixing clang build.
3047
3048         * inspector/InspectorBaseAgent.h:
3049         (WebCore::InspectorBaseAgentInterface::getAgentCapabilities):
3050         * inspector/InspectorDebuggerAgent.cpp:
3051         (WebCore::InspectorDebuggerAgent::getAgentCapabilities):
3052         * inspector/InspectorDebuggerAgent.h:
3053
3054 2011-11-29  Pavel Feldman  <pfeldman@google.com>
3055
3056         Web Inspector: introduce generic capabilities concept, migrate debugger domain to generic capabilities.
3057         https://bugs.webkit.org/show_bug.cgi?id=73311
3058
3059         This step is necessary for getting rid of the 'capability' aspect in the Preferences. As a result,
3060         single front-end will be applicable to multiple backend configurations.
3061
3062         Reviewed by Yury Semikhatsky.
3063
3064         * CMakeLists.txt:
3065         * GNUmakefile.list.am:
3066         * Target.pri:
3067         * WebCore.gypi:
3068         * WebCore.vcproj/WebCore.vcproj:
3069         * WebCore.xcodeproj/project.pbxproj:
3070         * inspector/Inspector.json:
3071         * inspector/InspectorAgent.cpp:
3072         (WebCore::InspectorAgent::InspectorAgent):
3073         * inspector/InspectorApplicationCacheAgent.cpp:
3074         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
3075         * inspector/InspectorBaseAgent.cpp:
3076         (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
3077         (WebCore::InspectorBaseAgentInterface::~InspectorBaseAgentInterface):
3078         * inspector/InspectorBaseAgent.h:
3079         (WebCore::InspectorBaseAgentInterface::getCapabilities):
3080         (WebCore::InspectorBaseAgentInterface::name):
3081         (WebCore::InspectorBaseAgent::InspectorBaseAgent):
3082         * inspector/InspectorCSSAgent.cpp:
3083         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
3084         * inspector/InspectorConsoleAgent.cpp:
3085         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3086         * inspector/InspectorController.cpp:
3087         (WebCore::InspectorController::InspectorController):
3088         * inspector/InspectorController.h:
3089         * inspector/InspectorDOMAgent.cpp:
3090         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3091         * inspector/InspectorDOMDebuggerAgent.cpp:
3092         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
3093         * inspector/InspectorDOMStorageAgent.cpp:
3094         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
3095         * inspector/InspectorDatabaseAgent.cpp:
3096         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
3097         * inspector/InspectorDebuggerAgent.cpp:
3098         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3099         (WebCore::InspectorDebuggerAgent::getCapabilities):
3100         * inspector/InspectorDebuggerAgent.h:
3101         * inspector/InspectorFileSystemAgent.cpp:
3102         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
3103         * inspector/InspectorMetaAgent.cpp: Added.
3104         (WebCore::InspectorMetaAgent::~InspectorMetaAgent):
3105         (WebCore::InspectorMetaAgent::getCapabilities):
3106         (WebCore::InspectorMetaAgent::InspectorMetaAgent):
3107         * inspector/InspectorMetaAgent.h: Added.
3108         (WebCore::InspectorMetaAgent::create):
3109         * inspector/InspectorPageAgent.cpp:
3110         (WebCore::InspectorPageAgent::InspectorPageAgent):
3111         * inspector/InspectorProfilerAgent.cpp:
3112         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3113         * inspector/InspectorResourceAgent.cpp:
3114         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3115         * inspector/InspectorRuntimeAgent.cpp:
3116         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
3117         * inspector/InspectorTimelineAgent.cpp:
3118         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3119         * inspector/InspectorValues.h:
3120         (WebCore::InspectorArray::begin):
3121         (WebCore::InspectorArray::end):
3122         * inspector/InspectorWorkerAgent.cpp:
3123         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
3124         * inspector/front-end/DebuggerModel.js:
3125         (WebInspector.DebuggerModel.prototype.enableDebugger):
3126
3127 2011-11-29  Simon Hausmann  <simon.hausmann@nokia.com>
3128
3129         [Qt] Make WebKit/qt build with V8 and Qt 5
3130         https://bugs.webkit.org/show_bug.cgi?id=73315
3131
3132         Reviewed by Kenneth Rohde Christiansen.
3133
3134         For the Qt 5 / V8 build we use QJSEngine/QJSValue instead of
3135         QScriptEngine/QScriptValue.
3136
3137         * bindings/v8/ScriptController.cpp:
3138         * bindings/v8/ScriptController.h:
3139         * bindings/v8/ScriptControllerQt.cpp:
3140         (WebCore::ScriptController::qtScriptEngine):
3141
3142 2011-11-29  Simon Hausmann  <simon.hausmann@nokia.com>
3143
3144         [Qt][V8] Add missing ExceptionCode.h include for SVG bindings
3145         https://bugs.webkit.org/show_bug.cgi?id=73314
3146
3147         Reviewed by Kenneth Rohde Christiansen.
3148
3149         * bindings/scripts/CodeGeneratorV8.pm:
3150         (GenerateNormalAttrSetter): Similarly to other places where we use DOM
3151         exceptions, make sure we include ExceptionCode.h here. It appears to be
3152         an implicit inclusion in the Chromium build, but it should be explicit
3153         like in the rest of the bindings.
3154         (GenerateFunctionCallback): Ditto.
3155
3156 2011-11-29  Andrey Kosyakov  <caseq@chromium.org>
3157
3158         Web Inspector: remove usage of innerHTML from inspector front-end
3159         https://bugs.webkit.org/show_bug.cgi?id=73305
3160
3161         Reviewed by Yury Semikhatsky.
3162
3163         * inspector/front-end/FontView.js:
3164         (WebInspector.FontView.prototype._createContentIfNeeded):
3165         * inspector/front-end/ShortcutsScreen.js:
3166         (WebInspector.ShortcutsSection.prototype.addKey):
3167         (WebInspector.ShortcutsSection.prototype.addRelatedKeys):
3168         (WebInspector.ShortcutsSection.prototype.addAlternateKeys):
3169         (WebInspector.ShortcutsSection.prototype._addLine):
3170         (WebInspector.ShortcutsSection.prototype.renderSection):
3171         (WebInspector.ShortcutsSection.prototype._renderSequence):
3172         (WebInspector.ShortcutsSection.prototype._renderKey):
3173         (WebInspector.ShortcutsSection.prototype.get _height):
3174         (WebInspector.ShortcutsSection.prototype._createSpan):
3175         (WebInspector.ShortcutsSection.prototype._joinNodes):
3176         * inspector/front-end/WelcomeView.js:
3177         (WebInspector.WelcomeView.prototype.addMessage):
3178
3179 2011-11-29  Zoltan Herczeg  <zherczeg@webkit.org>
3180
3181         [Qt] Couple of tests have different results on 64 bit and/or in debug mode compared to 32 bit and/or release mode
3182         https://bugs.webkit.org/show_bug.cgi?id=52810
3183
3184         Reviewed by Nikolas Zimmermann.
3185
3186         This avoids precision loss in getCTM, which is used whenever mapping repaint rects to a parent coordinate system
3187         - it affects several DRT results on Mac, all of them are progressions.
3188
3189         * svg/SVGPreserveAspectRatio.cpp:
3190         (WebCore::SVGPreserveAspectRatio::getCTM): Use double-precision internally.
3191
3192 2011-11-25  Pavel Podivilov  <podivilov@chromium.org>
3193
3194         Web Inspector: support concatenated source maps.
3195         https://bugs.webkit.org/show_bug.cgi?id=73138
3196
3197         Reviewed by Yury Semikhatsky.
3198
3199         * inspector/front-end/CompilerSourceMapping.js:
3200         (WebInspector.ClosureCompilerSourceMapping):
3201         (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
3202         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappingPayload):
3203         (WebInspector.ClosureCompilerSourceMapping.prototype._parseSections):
3204         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
3205         (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
3206         * inspector/front-end/inspector.js:
3207         (WebInspector.installSourceMappingForTest):
3208
3209 2011-11-29  Mario Sanchez Prada  <msanchez@igalia.com>
3210
3211         [Gtk] Regression: text-inserted events lack text inserted and current line
3212         https://bugs.webkit.org/show_bug.cgi?id=72830
3213
3214         Reviewed by Chris Fleizach.
3215
3216         Replace the emission of the old (and now deprecated) AtkObject's
3217         'text-changed:insert' and 'text-changed:remove' signals with the
3218         new 'text-insert' and 'text-remove' ones, which are better and
3219         less fragile since they emit the modified text too, along with the
3220         typical 'offset' and 'count' values associated to the change.
3221
3222         Also, change the signature of the nodeTextChangeNotification() and
3223         nodeTextChangePlatformNotification() to allow specifying the text
3224         being modified from the place we better know about it, that is,
3225         the text editing commands.
3226
3227         * accessibility/gtk/AXObjectCacheAtk.cpp:
3228         (WebCore::emitTextChanged): Emit 'text-insert' and 'text-remove',
3229         instead of the old and now deprecated 'text-changed' signal.
3230         (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
3231         Update this function to receive a String with the text being
3232         modified, instead of just the number of characters.
3233
3234         * accessibility/AXObjectCache.cpp:
3235         (WebCore::AXObjectCache::nodeTextChangeNotification): Update this
3236         function to receive a String with the text being modified.
3237         * accessibility/AXObjectCache.h:
3238         (WebCore::AXObjectCache::nodeTextChangeNotification): Ditto.
3239         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): Ditto.
3240
3241         Adapt the text editing commants to pass the whole text string
3242         being modified, instead of just its number of characters.
3243
3244         * editing/AppendNodeCommand.cpp:
3245         (WebCore::sendAXTextChangedIgnoringLineBreaks): Adapt to the new
3246         signature of nodeTextChangeNotification(), so pass the whole text.
3247         * editing/DeleteFromTextNodeCommand.cpp:
3248         (WebCore::DeleteFromTextNodeCommand::doApply): Ditto.
3249         (WebCore::DeleteFromTextNodeCommand::doUnapply): Ditto.
3250         * editing/InsertIntoTextNodeCommand.cpp:
3251         (WebCore::InsertIntoTextNodeCommand::doApply): Ditto.
3252         (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
3253         * editing/InsertNodeBeforeCommand.cpp:
3254         (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
3255         (WebCore::InsertNodeBeforeCommand::doUnapply): Ditto.
3256
3257         Update mac, win and chromium's specific parts of AXObjectCache to
3258         match the new signature for nodeTextChangePlatformNotification(),
3259         which won't affect their behaviour as they were not implementing
3260         that method anyway.
3261
3262         * accessibility/chromium/AXObjectCacheChromium.cpp:
3263         (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
3264         * accessibility/mac/AXObjectCacheMac.mm:
3265         (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
3266         * accessibility/win/AXObjectCacheWin.cpp:
3267         (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
3268
3269 2011-11-29  Mario Sanchez Prada  <msanchez@igalia.com>
3270
3271         [Gtk] Regression: Push buttons no longer expose their displayed text/name
3272         https://bugs.webkit.org/show_bug.cgi?id=72804
3273
3274         Reviewed by Chris Fleizach.
3275
3276         Use AccessibilityObject::title() as the last fallback in
3277         webkit_accessible_get_name() right before relying on the
3278         stringValue() method, if no better alternative was found.
3279
3280         Test: platform/gtk/accessibility/button-accessible-name.html
3281
3282         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3283         (webkit_accessible_get_name): Use title() as the last fallback
3284         method before using stringValue().
3285
3286 2011-11-29  Hyowon Kim  <hw1008.kim@samsung.com>
3287
3288         [Texmap][EFL] Accelerated compositing support using TextureMapper on EFL port
3289         https://bugs.webkit.org/show_bug.cgi?id=73111
3290
3291         This patch adds Texture Mapper related files to PlatformEfl.cmake
3292         and removes Qt-specific types in TextureMapperNode.cpp.
3293
3294         Reviewed by Noam Rosenthal.
3295
3296         * PlatformEfl.cmake:
3297         * platform/graphics/GraphicsLayer.cpp:
3298         * platform/graphics/GraphicsLayer.h:
3299         * platform/graphics/efl/GraphicsLayerEfl.cpp: Removed.
3300         * platform/graphics/efl/GraphicsLayerEfl.h: Removed.
3301         * platform/graphics/texmap/TextureMapperNode.cpp:
3302         (WebCore::solveCubicBezierFunction):
3303         (WebCore::solveStepsFunction):
3304
3305 2011-11-28  Pavel Feldman  <pfeldman@google.com>
3306
3307         Web Inspector: put inspector agents into a vector in the InspectorController.
3308         https://bugs.webkit.org/show_bug.cgi?id=73225
3309
3310         Inspector controller should maintain agents in the vector, while accessing
3311         them using the same base agent interface. We should not manually call
3312         base agent methods on their concrete instances.
3313
3314         Reviewed by Yury Semikhatsky.
3315
3316         * inspector/CodeGeneratorInspector.py:
3317         (DomainNameFixes.get_fixed_data.Res):
3318         (DomainNameFixes):
3319         (Generator.go):
3320         * inspector/InspectorAgent.cpp:
3321         (WebCore::InspectorAgent::InspectorAgent):
3322         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
3323         * inspector/InspectorAgent.h:
3324         (WebCore::InspectorAgent::create):
3325         * inspector/InspectorApplicationCacheAgent.cpp:
3326         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
3327         * inspector/InspectorApplicationCacheAgent.h:
3328         (WebCore::InspectorApplicationCacheAgent::create):
3329         * inspector/InspectorBaseAgent.cpp:
3330         * inspector/InspectorBaseAgent.h:
3331         (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
3332         (WebCore::InspectorBaseAgentInterface::~InspectorBaseAgentInterface):
3333         (WebCore::InspectorBaseAgentInterface::setFrontend):
3334         (WebCore::InspectorBaseAgentInterface::clearFrontend):
3335         (WebCore::InspectorBaseAgentInterface::restore):
3336         (WebCore::InspectorBaseAgentInterface::inspectedPageDestroyed):
3337         (WebCore::InspectorBaseAgent::~InspectorBaseAgent):
3338         (WebCore::InspectorBaseAgent::registerDispatcher):
3339         (WebCore::InspectorBaseAgent::InspectorBaseAgent):
3340         * inspector/InspectorCSSAgent.cpp:
3341         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
3342         * inspector/InspectorCSSAgent.h:
3343         (WebCore::InspectorCSSAgent::create):
3344         * inspector/InspectorConsoleAgent.cpp:
3345         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3346         * inspector/InspectorConsoleAgent.h:
3347         * inspector/InspectorController.cpp:
3348         (WebCore::InspectorController::InspectorController):
3349         (WebCore::InspectorController::inspectedPageDestroyed):
3350         (WebCore::InspectorController::connectFrontend):
3351         (WebCore::InspectorController::disconnectFrontend):
3352         (WebCore::InspectorController::restoreInspectorStateFromCookie):
3353         * inspector/InspectorController.h:
3354         * inspector/InspectorDOMAgent.cpp:
3355         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3356         * inspector/InspectorDOMAgent.h:
3357         * inspector/InspectorDOMDebuggerAgent.cpp:
3358         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
3359         * inspector/InspectorDOMDebuggerAgent.h:
3360         (WebCore::InspectorDOMDebuggerAgent::inspectedPageDestroyed):
3361         * inspector/InspectorDOMStorageAgent.cpp:
3362         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
3363         * inspector/InspectorDOMStorageAgent.h:
3364         * inspector/InspectorDatabaseAgent.cpp:
3365         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
3366         * inspector/InspectorDatabaseAgent.h:
3367         * inspector/InspectorDebuggerAgent.cpp:
3368         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3369         * inspector/InspectorDebuggerAgent.h:
3370         (WebCore::InspectorDebuggerAgent::inspectedPageDestroyed):
3371         * inspector/InspectorFileSystemAgent.cpp:
3372         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
3373         * inspector/InspectorFileSystemAgent.h:
3374         * inspector/InspectorPageAgent.cpp:
3375         (WebCore::InspectorPageAgent::InspectorPageAgent):
3376         * inspector/InspectorPageAgent.h:
3377         * inspector/InspectorProfilerAgent.cpp:
3378         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3379         * inspector/InspectorProfilerAgent.h:
3380         * inspector/InspectorResourceAgent.cpp:
3381         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3382         * inspector/InspectorResourceAgent.h:
3383         (WebCore::InspectorResourceAgent::create):
3384         * inspector/InspectorRuntimeAgent.cpp:
3385         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
3386         * inspector/InspectorRuntimeAgent.h:
3387         * inspector/InspectorTimelineAgent.cpp:
3388         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3389         * inspector/InspectorTimelineAgent.h:
3390         * inspector/InspectorWorkerAgent.cpp:
3391         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
3392         * inspector/InspectorWorkerAgent.h:
3393         * inspector/PageConsoleAgent.h:
3394         (WebCore::PageConsoleAgent::create):
3395         * inspector/PageRuntimeAgent.h:
3396         (WebCore::PageRuntimeAgent::create):
3397         * inspector/WorkerConsoleAgent.h:
3398         (WebCore::WorkerConsoleAgent::create):
3399         * inspector/WorkerInspectorController.cpp:
3400         (WebCore::WorkerInspectorController::WorkerInspectorController):
3401         (WebCore::WorkerInspectorController::connectFrontend):
3402         * inspector/WorkerRuntimeAgent.h:
3403         (WebCore::WorkerRuntimeAgent::create):
3404
3405 2011-11-25  Philippe Normand  <pnormand@igalia.com>
3406
3407         [GTK] Improve FontMetrics accuracy
3408         https://bugs.webkit.org/show_bug.cgi?id=72614
3409
3410         Reviewed by Martin Robinson.
3411         Patch by Nikolas Zimmermann.
3412
3413         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3414         (WebCore::setCairoFontOptionsFromFontConfigPattern):
3415         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
3416         (WebCore::SimpleFontData::platformInit):
3417
3418 2011-11-29  Nikolas Zimmermann  <nzimmermann@rim.com>
3419
3420         SVG <path> DRT dumps have rounding problems across platforms
3421         https://bugs.webkit.org/show_bug.cgi?id=47467
3422
3423         Reviewed by Zoltan Herczeg.
3424
3425         Next step towards fixing rounding differences across 32/64, release/debug builds and various platforms.
3426         Switch TextStream::operator<<(double) and SVGPathStringBuilder to use the newly introduced String::number(double, ConversionMode, precision)
3427         instead of using snprintf/String::format() directly. This uses wtf/dtoas rounding facilities and has proven to be faster & more precise!
3428
3429         In order to make use of these new floating-point dumping facilities following work was done:
3430         - The InlineBox logicalHeight is still integer based, while logicalWidth switched to float recently, continue that work and switch logicalTop/Bottom
3431           to floats as well. This allows us to avoid calling enclosingIntRect() when figuring out the bounds of a RenderSVGText.
3432           Instead DRT can ask for the floating point metrics and round on its own to the desired precision. It's not obviously clear why this makes a difference.
3433           Consider a rect with width 9.99999999, enclosingIntRect() would yield 10 as width, on this machine, but another may store 10.000000003, yielding 11.
3434           That's part of the reason why this is more safe and ultimately should eliminate the rounding error induced by this in the DRT results.
3435
3436         - absoluteClippedOverflowRectForRepaint(): when figuring out the repaint rect we'd retrieve the repaintRectInLocalCoordinates(), and call
3437           enclosingIntRect on it. Instead of doing that, to avoid the error described above, add a computeFloatRectForRepaint() call to RenderObject that's
3438           only used in a SVG subtree, just like its done for nodeAtFloatPoint. Do a single final enclosingIntRect() step when crossing the boundary from
3439           the SVG subtree in RenderSVGRoot to its parent, thus reducing the rounding instabilities.
3440
3441         - The new String::number() implementation enforces a&nbs