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