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