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