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