2812289952bc899ba7cc82a5487ad971492cc1b6
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-22  Anders Carlsson  <andersca@apple.com>
2
3         Fix WebKit2 build.
4
5         * WebCore.exp.in:
6         Export a symbol needed by WebKit2.
7
8 2011-03-22  Adam Barth  <abarth@webkit.org>
9
10         Reviewed by Eric Seidel.
11
12         Add the remaining steps to WebCore GYP build
13         https://bugs.webkit.org/show_bug.cgi?id=56864
14
15         These steps match the normal build.  After this patch, I believe the
16         WebCore GYP build is complete.
17
18         * WebCore.gypi:
19         * gyp/WebCore.gyp:
20         * gyp/copy-inspector-resources.sh: Added.
21
22 2011-03-22  Beth Dakin  <bdakin@apple.com>
23
24         Reviewed by Simon Fraser.
25
26         Fix for https://bugs.webkit.org/show_bug.cgi?id=56856 RenderListBox needs to be 
27         added to Page::scrollableAreaSet()
28
29         * rendering/RenderListBox.cpp:
30         (WebCore::RenderListBox::RenderListBox):
31         (WebCore::RenderListBox::~RenderListBox):
32         * rendering/RenderListBox.h:
33         (WebCore::RenderListBox::disconnectFromPage):
34
35 2011-03-22  Chris Rogers  <crogers@google.com>
36
37         Reviewed by Kenneth Russell.
38
39         Add high-quality band-limited audio resampling algorithm
40         https://bugs.webkit.org/show_bug.cgi?id=56692
41
42         No new tests since audio API is not yet implemented.
43
44         * platform/audio/SincResampler.cpp: Added.
45         (WebCore::SincResampler::SincResampler):
46         (WebCore::SincResampler::initializeKernel):
47         (WebCore::SincResampler::consumeSource):
48         (WebCore::SincResampler::process):
49         * platform/audio/SincResampler.h: Added.
50
51 2011-03-22  Adam Barth  <abarth@webkit.org>
52
53         Reviewed by Eric Seidel.
54
55         WebCore GYP build should build without help from normal WebCore build
56         https://bugs.webkit.org/show_bug.cgi?id=56860
57
58         Before this patch, the WebCore GYP build wasn't generating the derived
59         sources quite right because the ENABLE macros were not being
60         communicated to the "Derived Sources" target.
61
62         This patch also adds the "Copy Forwarding and ICU Headers" as well as
63         the "Streamline Inspector Source" steps, which are present in the
64         normal build.  Unlike the normal build, these steps occur in a new
65         target, called "WebCore Support", which is less than aesthetically
66         beautiful.  Hopefully we'll be able to move them into the WebCore
67         target proper in the future, but that will likely require some GYP
68         changes.
69
70         This patch probably could have been broken down into a couple smaller
71         patches, but that doesn't seem necessary.
72
73         * WebCore.gypi:
74             - This file appears to no longer exist.
75         * gyp/WebCore.gyp:
76         * gyp/copy-forwarding-and-icu-headers.sh: Added.
77         * gyp/streamline-inspector-source.sh: Added.
78
79 2011-03-22  David Hyatt  <hyatt@apple.com>
80
81         Reviewed by Simon Fraser.
82
83         https://bugs.webkit.org/show_bug.cgi?id=56859
84         
85         Floats in the floating object list occur in the order that they are positioned. This means
86         that for a given vertical offset, the last left object in the list that intersects that offset
87         will be the rightmost float. There is no need to check any previous floats, since they have to be
88         further left than that rightmost float. The same rules hold true for right-aligned floats.
89         
90         Change logicalLeft/RightOffsetForLine to iterate backwards instead of forwards and to stop the moment
91         they encounter a float that intersects the vertical range.
92         
93         This cuts the maze solving time for a 20x20 maze in the IE MazeSolver test in half.
94
95         * rendering/RenderBlock.cpp:
96         (WebCore::RenderBlock::logicalLeftOffsetForLine):
97         (WebCore::RenderBlock::logicalRightOffsetForLine):
98
99 2011-03-22  Justin Schuh  <jschuh@chromium.org>
100
101         Reviewed by Dirk Schulze.
102
103         SVG displacement map should validate channel selections
104         https://bugs.webkit.org/show_bug.cgi?id=56794
105
106         Test: svg/filters/feDisplacementMap-crash-test.xhtml
107
108         * svg/SVGFEDisplacementMapElement.cpp:
109         (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
110
111 2011-03-22  Huahui Wu  <mediadependent@gmail.com>
112
113         Reviewed by Steve Block.
114
115         [Android] Update PlatformTouchEvent for android so it can pass IDs and states around.
116         https://bugs.webkit.org/show_bug.cgi?id=56763
117
118         No new tests as no new functionality is exposed.
119
120         * platform/PlatformTouchEvent.h:
121         * platform/android/PlatformTouchEventAndroid.cpp:
122         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
123
124 2011-03-22  David Hyatt  <hyatt@apple.com>
125
126         Reviewed by Simon Fraser.
127
128         Implement the CSS3 line-box-contain property. This property provides authors with more control over spacing between lines. For example,
129         you can fix the height of lines and cause all line contents to be ignored. You can make lines fit to glyphs. You can ignore leading and
130         fit to the font size. You can ignore replaced elements, etc.
131
132         Refactor the code in computeLogicalBoxHeights into helper methods on RootInlineBox. verticalPositionForBox moved over to RootInlineBox
133         so that it could be called from RenderBlockLineLayout. ascentAndDescentForBox is the new method that computes the appropriate box
134         height based off the block's line-box-contain value.
135         
136         GlyphOverflow can now have a computeBounds parameter set, in which case glyph bounds will be computed and stored in the overflow struct.
137         
138         RenderInline no longer returns 0 margins in the block direction, since line-box-contain can size around the margin box.
139         
140         Added new tests in fast/block/lineboxcontain
141
142         * GNUmakefile.am:
143         * WebCore.gypi:
144         * WebCore.pro:
145         * WebCore.vcproj/WebCore.vcproj:
146         * WebCore.xcodeproj/project.pbxproj:
147         * css/CSSComputedStyleDeclaration.cpp:
148         (WebCore::createLineBoxContainValue):
149         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
150         * css/CSSLineBoxContainValue.cpp: Added.
151         (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
152         (WebCore::CSSLineBoxContainValue::cssText):
153         * css/CSSLineBoxContainValue.h: Added.
154         (WebCore::CSSLineBoxContainValue::create):
155         (WebCore::CSSLineBoxContainValue::value):
156         (WebCore::CSSLineBoxContainValue::isCSSLineBoxContainValue):
157         * css/CSSParser.cpp:
158         (WebCore::CSSParser::parseValue):
159         (WebCore::CSSParser::parseLineBoxContain):
160         * css/CSSParser.h:
161         * css/CSSPropertyNames.in:
162         * css/CSSStyleSelector.cpp:
163         (WebCore::CSSStyleSelector::applyProperty):
164         * css/CSSValue.h:
165         (WebCore::CSSValue::isCSSLineBoxContainValue):
166         * css/CSSValueKeywords.in:
167         * platform/graphics/Font.cpp:
168         (WebCore::Font::width):
169         * platform/graphics/Font.h:
170         (WebCore::GlyphOverflow::GlyphOverflow):
171         * platform/graphics/FontFastPath.cpp:
172         (WebCore::Font::floatWidthForSimpleText):
173         * platform/graphics/mac/FontComplexTextMac.cpp:
174         (WebCore::Font::floatWidthForComplexText):
175         * platform/graphics/win/FontWin.cpp:
176         (WebCore::Font::floatWidthForComplexText):
177         * rendering/InlineFlowBox.cpp:
178         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
179         * rendering/InlineFlowBox.h:
180         * rendering/RenderBlock.h:
181         * rendering/RenderBlockLineLayout.cpp:
182         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
183         (WebCore::RenderBlock::layoutInlineChildren):
184         * rendering/RenderInline.cpp:
185         (WebCore::RenderInline::marginLeft):
186         (WebCore::RenderInline::marginRight):
187         (WebCore::RenderInline::marginTop):
188         (WebCore::RenderInline::marginBottom):
189         (WebCore::RenderInline::marginBefore):
190         (WebCore::RenderInline::marginAfter):
191         * rendering/RenderInline.h:
192         * rendering/RenderText.cpp:
193         (WebCore::RenderText::widthFromCache):
194         (WebCore::RenderText::width):
195         * rendering/RootInlineBox.cpp:
196         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
197         (WebCore::setAscentAndDescent):
198         (WebCore::RootInlineBox::ascentAndDescentForBox):
199         (WebCore::RootInlineBox::verticalPositionForBox):
200         (WebCore::RootInlineBox::includeLeadingForBox):
201         (WebCore::RootInlineBox::includeFontForBox):
202         (WebCore::RootInlineBox::includeGlyphsForBox):
203         (WebCore::RootInlineBox::includeMarginForBox):
204         (WebCore::RootInlineBox::fitsToGlyphs):
205         (WebCore::RootInlineBox::includesRootLineBoxFontOrLeading):
206         * rendering/RootInlineBox.h:
207         * rendering/style/RenderStyle.cpp:
208         (WebCore::RenderStyle::diff):
209         * rendering/style/RenderStyle.h:
210         (WebCore::InheritedFlags::lineBoxContain):
211         (WebCore::InheritedFlags::setLineBoxContain):
212         (WebCore::InheritedFlags::initialLineBoxContain):
213         * rendering/style/StyleRareInheritedData.cpp:
214         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
215         (WebCore::StyleRareInheritedData::operator==):
216         * rendering/style/StyleRareInheritedData.h:
217
218 2011-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
219
220         Unreviewed, rolling out r81653.
221         http://trac.webkit.org/changeset/81653
222         https://bugs.webkit.org/show_bug.cgi?id=56839
223
224         Breaks fast/text/drawBidiText.html on Chromium. (Requested by
225         pfeldman on #webkit).
226
227         * rendering/RenderListBox.cpp:
228         (WebCore::RenderListBox::paintItemForeground):
229
230 2011-03-22  Pavel Feldman  <pfeldman@chromium.org>
231
232         Not reviewed. Rolling out 81657, 81654, 81651 for breaking tests on chromium.
233
234         * inspector/Inspector.json:
235         * inspector/InspectorDatabaseResource.cpp:
236         (WebCore::InspectorDatabaseResource::bind):
237         * inspector/front-end/Database.js:
238         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
239
240 2011-03-21  Pavel Podivilov  <podivilov@chromium.org>
241
242         Reviewed by Yury Semikhatsky.
243
244         Web Inspector: [REGRESSION] scripts panel is broken when frontend is reopened.
245         https://bugs.webkit.org/show_bug.cgi?id=56747
246
247         Debugger should be enabled on front-end side to guarantee initialization sequence (resources come before scripts).
248
249         * inspector/Inspector.json:
250         * inspector/InspectorAgent.cpp:
251         (WebCore::InspectorAgent::showProfilesPanel):
252         * inspector/InspectorAgent.h:
253         * inspector/InspectorController.cpp:
254         (WebCore::InspectorController::InspectorController):
255         (WebCore::InspectorController::connectFrontend):
256         (WebCore::InspectorController::showAndEnableDebugger):
257         * inspector/InspectorController.h:
258         * inspector/InspectorDebuggerAgent.cpp:
259         (WebCore::InspectorDebuggerAgent::setFrontend):
260         (WebCore::InspectorDebuggerAgent::clearFrontend):
261         * inspector/InspectorDebuggerAgent.h:
262
263 2011-03-22  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
264
265         Reviewed by Benjamin Poulain.
266
267         [Qt] WebGL: renderbufferStorage() fails with internal format GL_RGBA4
268         https://bugs.webkit.org/show_bug.cgi?id=56824
269
270         On desktop OpenGL substitute in renderbufferStorage:
271         - GL_DEPTH24_STENCIL8 for GL_DEPTH_STENCIL
272         - GL_DEPTH_COMPONENT for GL_DEPTH_COMPONENT16
273         - GL_RGBA for GL_RGBA4 and GL_RGBA565
274         - GL_RGB for RGB5_A1.
275
276         Tests: fast/canvas/webgl/uninitialized-test.html
277
278         * platform/graphics/qt/GraphicsContext3DQt.cpp:
279         (WebCore::GraphicsContext3D::renderbufferStorage):
280
281 2011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
282
283         Reviewed by Eric Seidel.
284
285         Move volume slider positioning logic to a custom renderer.
286         https://bugs.webkit.org/show_bug.cgi?id=56498
287
288         No functional change, covered by existing tests.
289
290         * html/shadow/MediaControls.cpp:
291         (WebCore::MediaControls::updateVolumeSliderContainer): Removed positioning logic.
292         * rendering/MediaControlElements.cpp:
293         (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): Added.
294         (WebCore::RenderMediaVolumeSliderContainer::layout): Added.
295         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Removed storing of coordinates.
296         (WebCore::MediaControlVolumeSliderContainerElement::createRenderer): Added.
297         (WebCore::MediaControlVolumeSliderContainerElement::styleForElement): Removed setting of coordinates.
298         * rendering/MediaControlElements.h: Changed corresponding decls.
299
300 2011-03-22  Andrew Wason  <rectalogic@rectalogic.com>
301
302         Reviewed by Benjamin Poulain.
303
304         [Qt] QWebPage with WebGL content crashes when rendering if no QWebView parent
305         https://bugs.webkit.org/show_bug.cgi?id=54138
306
307         * platform/graphics/qt/GraphicsContext3DQt.cpp:
308         (WebCore::GraphicsContext3DInternal::getViewportGLWidget):
309          Check if we actually have a QWebPageClient before dereferencing it.
310
311 2011-03-22  Pavel Feldman  <pfeldman@chromium.org>
312
313         Reviewed by Yury Semikhatsky.
314
315         Web Inspector: document DOM domain types and protocol methods.
316         https://bugs.webkit.org/show_bug.cgi?id=56807
317
318         * inspector/InjectedScript.cpp:
319         (WebCore::InjectedScript::wrapNode):
320         * inspector/InjectedScript.h:
321         * inspector/Inspector.json:
322         * inspector/InspectorBrowserDebuggerAgent.cpp:
323         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
324         * inspector/InspectorDOMAgent.cpp:
325         (WebCore::InspectorDOMAgent::removeNode):
326         (WebCore::InspectorDOMAgent::setNodeValue):
327         * inspector/InspectorDOMAgent.h:
328         * inspector/front-end/ElementsTreeOutline.js:
329         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
330         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
331         * inspector/front-end/EventListenersSidebarPane.js:
332         * inspector/front-end/PropertiesSidebarPane.js:
333         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
334         * inspector/front-end/RemoteObject.js:
335         (WebInspector.RemoteObject.resolveNode):
336
337 2011-03-22  Adam Barth  <abarth@webkit.org>
338
339         Reviewed by Eric Seidel.
340
341         Production configuration in GYP isn&apos;t set up correctly
342         https://bugs.webkit.org/show_bug.cgi?id=56786
343
344         Update WebCore.gyp with information mined from WebCore.xcodeproj.
345
346         * WebCore.gypi:
347         * gyp/WebCore.gyp:
348
349 2011-03-22  Ofri Wolfus  <ofri@google.com>
350
351         Reviewed by Eric Seidel.
352
353         RTL: Select elements with a size attribute are always left aligned.
354         https://bugs.webkit.org/show_bug.cgi?id=50928
355
356         Added support for alignment in RenderListBox.
357
358         Test: fast/forms/listbox-bidi-align.html
359
360         * rendering/RenderListBox.cpp:
361         (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality.
362
363 2011-03-22  Ilya Sherman  <isherman@chromium.org>
364
365         Reviewed by Kent Tamura.
366
367         Clear autofilled flag when reseting a form
368         In service of https://code.google.com/p/chromium/issues/detail?id=70037
369         https://bugs.webkit.org/show_bug.cgi?id=56802
370
371         Test: fast/forms/reset-autofilled.html
372
373         * html/HTMLInputElement.cpp:
374         (WebCore::HTMLInputElement::reset): Clear the autofilled flag.
375
376 2011-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
377
378         Reviewed by Yury Semikhatsky.
379
380         Web Inspector: protocol cleanup. DatabaseAgent.
381         https://bugs.webkit.org/show_bug.cgi?id=56815
382
383         see protocol metabug:
384         - All events should use notification wording, not command wording:
385
386         addDatabase was renamed to DatabaseOpened.
387
388         Test: inspector/protocol/database-agent.html
389
390         * inspector/Inspector.json:
391         * inspector/InspectorDatabaseResource.cpp:
392         (WebCore::InspectorDatabaseResource::bind):
393         * inspector/front-end/Database.js:
394         (WebInspector.DatabaseDispatcher.prototype.DatabaseOpened):
395
396 2011-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
397
398         Reviewed by Yury Semikhatsky.
399
400         Web Inspector: protocol cleanup. ConsoleAgent.
401         https://bugs.webkit.org/show_bug.cgi?id=56806
402
403         renamed method: void setConsoleMessagesEnabled(in boolean enabled, out boolean newState); => void enable(out long expiredMessagesCount);
404         new method: disable()
405         deleted method: [event] void consoleMessageExpiredCountUpdate(out unsigned long count); delete it. The counter will be transfered as out argument of enable command.
406
407         * inspector/ConsoleMessage.cpp:
408         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
409         * inspector/Inspector.json:
410         * inspector/InspectorConsoleAgent.cpp:
411         (WebCore::InspectorConsoleAgent::enable):
412         (WebCore::InspectorConsoleAgent::disable):
413         * inspector/InspectorConsoleAgent.h:
414         * inspector/front-end/ConsoleView.js:
415         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdated):
416         (WebInspector.ConsoleView.prototype.setConsoleMessageExpiredCount):
417         * inspector/front-end/inspector.js:
418
419 2011-03-22  Kent Tamura  <tkent@chromium.org>
420
421         Reviewed by Eric Seidel.
422
423         REGRESSION(r80096): Number type input unexpectedly rounds fractional values
424         https://bugs.webkit.org/show_bug.cgi?id=56367
425
426         Because the default value of the maximum fractional digits of NSNumberFormatter
427         and ICU NumberFormat is 3, the value 0.55555 is rounded to 0.556 in a
428         localized representation. This bug affects only in Mac and Chromium.
429
430         To fix this bug,
431          - Add "maximum fractional digits" parameter to formatLocalizedNumber(), and
432          - NumberInputType::visibleValue uses parseToDoubleForNumberTypeWithDecimalPlaces()
433           instead of parseToDoubleForNumberType().
434
435         No automated tests because the behavior is locale-dependent. This change
436         updates a manual test.
437
438         * html/NumberInputType.cpp:
439         (WebCore::NumberInputType::visibleValue):
440           Use parseToDoubleForNumberTypeWithDecimalPlaces() and passing fractional
441           part length to formatLocalizedNumber().
442         * manual-tests/input-number-localization.html:
443           Update the test to cover this change.
444         * platform/text/LocalizedNumber.h: Add a parameter to formatLocalizedNumber().
445         * platform/text/LocalizedNumberICU.cpp:
446         (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits().
447         * platform/text/LocalizedNumberNone.cpp:
448         (WebCore::formatLocalizedNumber):
449         * platform/text/mac/LocalizedNumberMac.mm:
450         (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits().
451
452 2011-03-21  Abhishek Arya  <inferno@chromium.org>
453
454         Reviewed by Eric Seidel.
455
456         Anonymous blocks need isRenderBlock cast check. Also, need
457         to allow display BOX for flexible boxes.
458         https://bugs.webkit.org/show_bug.cgi?id=56709
459
460         Test: accessibility/anchor-linked-anonymous-block-crash.html
461
462         * rendering/RenderBlock.cpp:
463         (WebCore::canMergeContiguousAnonymousBlocks): remove specific
464         fix in r81088 which is no longer needed.
465         * rendering/RenderObject.h:
466         (WebCore::RenderObject::isAnonymousBlock): Add isRenderBlock cast
467         check.
468
469 2011-03-21  Abhishek Arya  <inferno@chromium.org>
470
471         Reviewed by Eric Seidel.
472
473         Revert small change made in r78846 of replacing move with positionLineBox
474         in the adjusting position function for inline box.
475         https://bugs.webkit.org/show_bug.cgi?id=56300
476
477         The change in r78846 caused positioning line boxes during the step of adjusting
478         position for inline box, thereby causing line boxes to be nuked. This happens as
479         part of aligning boxes in block direction in RenderBlock::computeBlockDirectionPositionsForLine.
480         Later on, we do the positioning of line boxes again later in that function. This
481         causes use of removed inline box leading to crash. Also, it is unnecessary to do
482         this twice.
483
484         Tests: fast/inline/inline-box-adjust-position-crash.html
485                fast/inline/inline-box-adjust-position-crash2.html
486
487         * rendering/InlineBox.cpp:
488         (WebCore::InlineBox::adjustPosition):
489
490 2011-03-21  Adam Klein  <adamk@chromium.org>
491
492         Reviewed by David Levin.
493
494         [fileapi] Add URI resolution support to WorkerContext
495         https://bugs.webkit.org/show_bug.cgi?id=55644
496
497         Tests: http/tests/filesystem/workers/resolve-url-sync.html
498                http/tests/filesystem/workers/resolve-url.html
499
500         * fileapi/LocalFileSystem.cpp:
501         (WebCore::LocalFileSystem::readFileSystem):
502         Add support for workers.
503         * fileapi/LocalFileSystem.h:
504         * workers/WorkerContext.cpp:
505         (WebCore::WorkerContext::resolveLocalFileSystemURL):
506         (WebCore::WorkerContext::resolveLocalFileSystemSyncURL):
507         * workers/WorkerContext.h:
508         * workers/WorkerContext.idl:
509
510 2011-03-21  David Levin  <levin@chromium.org>
511
512         Reviewed by Adam Barth.
513
514         XHR in Workers doesn't set the referrer correctly.
515         https://bugs.webkit.org/show_bug.cgi?id=24683
516
517         Tests: http/tests/xmlhttprequest/workers/referer.html
518                http/tests/xmlhttprequest/workers/shared-worker-referer.html
519
520         * loader/DocumentThreadableLoader.cpp:
521         (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Fill in empty string for the outgoing referrer.
522         (WebCore::DocumentThreadableLoader::create): Added the ability to set the outgoing referrer.
523         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
524         (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
525         * loader/DocumentThreadableLoader.h: Ditto.
526         * loader/ResourceLoadScheduler.cpp:
527         (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): Ditto.
528         * loader/ResourceLoadScheduler.h: Ditto.
529         * loader/SubresourceLoader.cpp:
530         (WebCore::SubresourceLoader::create): Fixed bug (caught by the test) in last minute change done in previous check-in.
531         * loader/WorkerThreadableLoader.cpp:
532         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): Fill in the outgoing referrer.
533         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Plumbing for the outgoing referrer.
534         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Plumbing for the outgoing referrer.
535         * loader/WorkerThreadableLoader.h:
536
537 2011-03-21  Nate Chapin  <japhet@chromium.org>
538
539         Reviewed by Brady Eidson.
540
541         Do not check the DocumentLoader's request cache policy
542         in determining whether we should force revalidation of a cached
543         subresource. If the main resource received headers telling it not
544         to cache, that policy will be propagated to subresources.
545
546         The previous behavior is left in behind a flag in Settings, since
547         QuickLook depends on it.
548
549         https://bugs.webkit.org/show_bug.cgi?id=38690
550
551         Tests: http/tests/cache/post-redirect-get.php
552                http/tests/cache/post-with-cached-subresources.php
553
554         * loader/FrameLoader.cpp:
555         (WebCore::FrameLoader::subresourceCachePolicy):
556         (WebCore::FrameLoader::loadPostRequest):
557         * page/Settings.cpp:
558         (WebCore::Settings::Settings):
559         * page/Settings.h:
560         (WebCore::Settings::setUseQuickLookResourceCachingQuirks):
561         (WebCore::Settings::useQuickLookResourceCachingQuirks):
562
563 2011-03-21  Rik Cabanier  <cabanier@adobe.com>
564
565         Reviewed by James Robinson.
566
567         bug 56052: percentages are incorrectly rounded in WebKit
568         https://bugs.webkit.org/show_bug.cgi?id=56052
569
570         test: fast/css/percentage-non-integer.html
571
572         * css/CSSStyleSelector.cpp:
573         (WebCore::CSSStyleSelector::applyProperty):
574         * page/PrintContext.cpp:
575         (WebCore::PrintContext::pageProperty):
576         * platform/Length.h:
577         (WebCore::Length::Length):
578         (WebCore::Length::operator*=):
579         (WebCore::Length::value):
580         (WebCore::Length::percent):
581         (WebCore::Length::setValue):
582         (WebCore::Length::calcValue):
583         (WebCore::Length::calcMinValue):
584         (WebCore::Length::isUndefined):
585         (WebCore::Length::isZero):
586         (WebCore::Length::isPositive):
587         (WebCore::Length::isNegative):
588         * rendering/AutoTableLayout.cpp:
589         (WebCore::AutoTableLayout::recalcColumn):
590         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
591         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
592         (WebCore::AutoTableLayout::layout):
593         * rendering/FixedTableLayout.cpp:
594         (WebCore::FixedTableLayout::calcWidthArray):
595         (WebCore::FixedTableLayout::layout):
596         * rendering/RenderTableSection.cpp:
597         (WebCore::RenderTableSection::addCell):
598         (WebCore::RenderTableSection::layoutRows):
599         * rendering/style/BorderData.h:
600         (WebCore::BorderData::hasBorderRadius):
601
602 2011-03-21  Adam Barth  <abarth@webkit.org>
603
604         Reviewed by Eric Seidel.
605
606         Add WebCoreExportFileGenerator to WebCore GYP build
607         https://bugs.webkit.org/show_bug.cgi?id=56778
608
609         This target mirrors the eponymous target from WebCore.xcodeproj.
610
611         * WebCore.gypi:
612         * gyp/WebCore.gyp:
613         * generate-webcore-export-file-generator.sh: Added.
614
615 2011-03-21  Adam Barth  <abarth@webkit.org>
616
617         Reviewed by Dimitri Glazkov.
618
619         WebCore GYP build shouldn&apos;t crash on startup
620         https://bugs.webkit.org/show_bug.cgi?id=56776
621
622         Debug builds shouldn't define NDEBUG.  This same logic exists in the
623         project.pbxproj file.
624
625         * gyp/WebCore.gyp:
626
627 2011-03-21  Daniel Cheng  <dcheng@chromium.org>
628
629         Reviewed by Tony Chang.
630
631         [chromium] Implement glue between DataTransferItems and the pasteboard.
632         https://bugs.webkit.org/show_bug.cgi?id=56330
633
634         Support retrieving clipboard data in a paste through DataTransferItems.
635
636         Test: editing/pasteboard/data-transfer-items.html
637
638         * platform/chromium/ClipboardChromium.cpp:
639         (WebCore::ClipboardChromium::items):
640         * platform/chromium/DataTransferItemChromium.cpp:
641         (WebCore::DataTransferItemChromium::createFromPasteboard):
642         (WebCore::DataTransferItemChromium::create):
643         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
644         (WebCore::DataTransferItemChromium::getAsString):
645         * platform/chromium/DataTransferItemChromium.h:
646         * platform/chromium/DataTransferItemsChromium.cpp:
647         (WebCore::DataTransferItemsChromium::addPasteboardItem):
648         * platform/chromium/DataTransferItemsChromium.h:
649
650 2011-03-21  Chris Fleizach  <cfleizach@apple.com>
651
652         Reviewed by Darin Adler.
653
654         AX: showContextMenu not working in WK2
655         https://bugs.webkit.org/show_bug.cgi?id=56734
656
657         WebKit2 is not able to directly open a context menu because the UI is in the other process.
658         Instead the chrome client should be used. This also means implementing showContextMenu() in WebKit1
659         code.
660         
661         * accessibility/mac/AccessibilityObjectWrapper.mm:
662         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
663
664 2011-03-21  Robert Kroeger  <rjkroege@chromium.org>
665
666         Reviewed by Antonio Gomes.
667
668         Add Support to WebCore to optionally call a platform-specific gesture recognizer
669         https://bugs.webkit.org/show_bug.cgi?id=49345
670
671         Added an ability for the EventHandler to invoke an optional platform
672         specific gesture recognizer.
673
674         No tests added because the change should be functionally invisible.
675
676         * WebCore.gypi:
677         * page/EventHandler.cpp:
678         (WebCore::EventHandler::EventHandler):
679         (WebCore::EventHandler::handleTouchEvent):
680         * page/EventHandler.h:
681         * platform/PlatformGestureRecognizer.cpp: Added.
682         (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
683         (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
684         (WebCore::PlatformGestureRecognizer::create):
685         * platform/PlatformGestureRecognizer.h: Added.
686
687 2011-03-21  Dean Jackson  <dino@apple.com>
688
689         Reviewed by Chris Marrin and Simon Fraser.
690
691         https://bugs.webkit.org/show_bug.cgi?id=56325
692         ASSERTION FAILED: paused() in AnimationBase::updateStateMachine()
693
694         AnimationBase had a custom linked-list/self-pointer for keeping
695         track of animations that needed to be notified of style updates
696         and start progress. This caused problems when AnimationBase was
697         destroyed, since the pointer wasn't managed in any way. I replaced
698         these pointers with HashSets and moved the code that removes animations
699         from the sets into AnimationControllerPrivate, where it belongs.
700         CompositeAnimation is also more careful to tell AnimationControllerPrivate
701         when it no longer needs to keep track of waiting animations.
702
703         This should stop the style updates being called on non-active animations
704         (which was the cause of the state machine error here) and should also
705         stop a few of the related flakey test failures and occasional crashes.
706
707         Test: animations/body-removal-crash.html
708
709         * page/animation/AnimationBase.cpp:
710         (WebCore::AnimationBase::AnimationBase):
711         (WebCore::AnimationBase::updateStateMachine):
712         * page/animation/AnimationBase.h:
713         (WebCore::AnimationBase::~AnimationBase):
714         - Remove the linked-list
715         * page/animation/AnimationController.cpp:
716         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
717         (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStyle):
718         (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStyle):
719         (WebCore::AnimationControllerPrivate::styleAvailable):
720         (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
721         (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse):
722         (WebCore::AnimationControllerPrivate::startTimeResponse):
723         (WebCore::AnimationControllerPrivate::animationWillBeRemoved):
724         - New method to remove animations from the waiting lists
725         * page/animation/AnimationControllerPrivate.h:
726         - use a HashSet rather than an AnimationBase* pointer.
727         * page/animation/CompositeAnimation.cpp:
728         (WebCore::CompositeAnimation::~CompositeAnimation):
729         (WebCore::CompositeAnimation::clearRenderer):
730         (WebCore::CompositeAnimation::updateTransitions):
731         (WebCore::CompositeAnimation::updateKeyframeAnimations):
732         - remove the animations and transitions from the lists when we know
733           they are no longer active (rather than waiting for the AnimationBase
734           to do it when destructing)
735
736 2011-03-21  Justin Schuh  <jschuh@chromium.org>
737
738         Reviewed by James Robinson.
739
740         Stop inserting when the parent is removed
741         https://bugs.webkit.org/show_bug.cgi?id=56690
742
743         Tests: fast/dom/insertedIntoDocument-child.html
744                fast/dom/insertedIntoDocument-iframe.html
745                fast/dom/insertedIntoDocument-sibling.html
746
747         * dom/ContainerNode.cpp:
748         (WebCore::ContainerNode::insertedIntoDocument):
749         * html/HTMLEmbedElement.cpp:
750         (WebCore::HTMLEmbedElement::insertedIntoDocument):
751         * html/HTMLObjectElement.cpp:
752         (WebCore::HTMLObjectElement::insertedIntoDocument):
753
754 2011-03-07  David Levin  <levin@chromium.org>
755
756         Reviewed by Adam Barth.
757
758         SubresourceLoader should expose a way to set the outgoing referer/origin
759         https://bugs.webkit.org/show_bug.cgi?id=55903
760
761         No new tests as no new functionality is exposed.
762
763         * loader/SubresourceLoader.cpp:
764         (WebCore::SubresourceLoader::create):
765         * loader/SubresourceLoader.h:
766
767 2011-03-21  Daniel Sievers  <sievers@google.com>
768
769         Reviewed by Simon Fraser.
770
771         [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline
772         https://bugs.webkit.org/show_bug.cgi?id=56139
773
774         * WebCore.exp.in:
775         * WebCore.order:
776         * page/Frame.cpp:
777         (WebCore::Frame::layerTreeAsText):
778         * page/Frame.h:
779         * rendering/RenderLayerCompositor.cpp:
780         (WebCore::RenderLayerCompositor::layerTreeAsText):
781         * rendering/RenderLayerCompositor.h:
782
783 2011-03-21  Chang Shu  <cshu@webkit.org>
784
785         Reviewed by Alexey Proskuryakov.
786
787         REGRESSION (r79953): Can't type in MS Outlook 2011
788         https://bugs.webkit.org/show_bug.cgi?id=56665
789
790         r79953 removed the WebView level editablity which is persistent no matter whether
791         underlying document itself is changed and editability gets lost. The resolution is to
792         set this WebView editable value to WebCore. This avoids the callback from WebCore to
793         WebKit which was the main goal in r79953 to improve performance.
794
795         * WebCore.exp.in:
796         * accessibility/AccessibilityRenderObject.cpp:
797         (WebCore::AccessibilityRenderObject::isReadOnly):
798         * dom/Node.cpp:
799         (WebCore::Node::isContentEditable):
800         * editing/SelectionController.cpp:
801         (WebCore::SelectionController::setSelectionFromNone):
802         * page/DragController.cpp:
803         (WebCore::DragController::operationForLoad):
804         * page/Page.cpp:
805         (WebCore::Page::Page):
806         * page/Page.h:
807         (WebCore::Page::setEditable):
808         (WebCore::Page::isEditable):
809
810 2011-03-21  Eric Uhrhane <ericu@chromium.org>
811
812         Reviewed by David Levin.
813
814         [fileapi/chromium] Fetch platform path using GetMetadata before creating File from FileEntry*
815         https://bugs.webkit.org/show_bug.cgi?id=56704
816
817         * fileapi/DOMFileSystemSync.cpp
818         (DOMFileSystemSync::createFile)
819         (class GetPathHelper): Added, to look up path before creating File.
820         * fileapi/DOMFileSystem.cpp
821         (DOMFileSystem::createFile)
822         (GetPathCallback): Added, to look up path before creating File.
823         * platform/FileMetadata.h
824         (struct FileMetadata): Added new field platformPath.
825
826 2011-03-21  Dominic Cooney  <dominicc@google.com>
827
828         Reviewed by Jeremy Orlow.
829
830         Establishes a V8 context before executing MediaQueryList callbacks.
831         https://bugs.webkit.org/show_bug.cgi?id=56166
832
833         MediaQueryList listener callbacks didn't establish a V8 context
834         before running script, causing crashes on C++-only
835         callstacks (such as user resizing, printing, etc.) I believe this
836         could also be contrived to execute media query list listener
837         callbacks across domain.
838
839         Test: fast/media/media-query-list-callback.html
840
841         * css/MediaQueryListListener.cpp:
842         (WebCore::MediaQueryListListener::queryChanged):
843
844 2011-03-21  Andreas Kling  <kling@webkit.org>
845
846         Reviewed by Tor Arne Vestbø.
847
848         [Qt] Add QNetworkReplyHandler::wasAborted()
849
850         Instead of checking if the ResourceHandle is null everywhere,
851         use a wasAborted() method to make the code readable.
852
853         * platform/network/qt/QNetworkReplyHandler.h:
854         (WebCore::QNetworkReplyHandler::wasAborted):
855         * platform/network/qt/QNetworkReplyHandler.cpp:
856         (WebCore::QNetworkReplyHandler::finish):
857         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
858         (WebCore::QNetworkReplyHandler::redirect):
859         (WebCore::QNetworkReplyHandler::forwardData):
860         (WebCore::QNetworkReplyHandler::uploadProgress):
861
862 2011-03-21  Christian Dywan  <christian@lanedo.com>
863
864         Reviewed by Martin Robinson.
865
866         WebKitIconDatabase may trigger crash in cairoImageSurfaceToGdkPixbuf
867         https://bugs.webkit.org/show_bug.cgi?id=56201
868
869         * platform/graphics/gtk/ImageGtk.cpp: Don't attempt to make a pixbuf
870             if there is no image.
871
872 2011-03-21  Mario Sanchez Prada  <msanchez@igalia.com>
873
874         Reviewed by Martin Robinson.
875
876         [GTK] [Stable] AtkHypertext exposes wrong offsets for links placed inside <span> nodes
877         https://bugs.webkit.org/show_bug.cgi?id=56737
878
879         Only consider parent objects not ignoring accessibility.
880
881         * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
882         (webkitAccessibleHyperlinkGetStartIndex): Look for the parent
883         object not ignoring accessibility for the current hyperlink.
884         (webkitAccessibleHyperlinkGetEndIndex): Ditto.
885
886 2011-03-21  Andreas Kling  <kling@webkit.org>
887
888         Reviewed by Benjamin Poulain.
889
890         [Qt] Remove handling of QNetworkAccessManager::UnknownOperation
891
892         Now that Qt 4.7 is required we never have to fall back to UnknownOperation.
893         Custom verb requests are using CustomOperation already, so this was dead code.
894
895         * platform/network/qt/QNetworkReplyHandler.cpp:
896         (WebCore::QNetworkReplyHandler::start):
897
898 2011-03-21  Adam Roben  <aroben@apple.com>
899
900         Fix multiple-definition linker warnings on Windows
901
902         * WebCore.vcproj/WebCore.vcproj: Exclude RenderSVGPath.cpp from the build, since it is
903         already being compiled via RenderingAllInOne.cpp. Let VS have its way with the rest of the
904         file.
905
906 2011-03-21  Andreas Kling  <kling@webkit.org>
907
908         Reviewed by Benjamin Poulain.
909
910         [Qt] Clean up QNetworkReplyHandler::release()
911
912         Since QNetworkReplyHandler no longer uses queued connections to
913         the QNetworkReply, it's not necessary to mess with the event
914         queue when releasing a reply.
915
916         * platform/network/qt/QNetworkReplyHandler.cpp:
917         (WebCore::QNetworkReplyHandler::abort):
918         (WebCore::QNetworkReplyHandler::release):
919
920 2011-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
921
922         Reviewed by Pavel Feldman.
923
924         Web Inspector: Inspector does not always show correct transfer size (for compressed/chunked data)
925         https://bugs.webkit.org/show_bug.cgi?id=56691
926
927         Added transfer size support in inspector for compressed data.
928
929         Test: http/tests/inspector/network/network-size-chunked.html
930
931         * inspector/Inspector.idl:
932         * inspector/InspectorInstrumentation.cpp:
933         (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
934         * inspector/InspectorInstrumentation.h:
935         (WebCore::InspectorInstrumentation::didReceiveContentLength):
936         * inspector/InspectorResourceAgent.cpp:
937         (WebCore::InspectorResourceAgent::didReceiveResponse):
938         (WebCore::InspectorResourceAgent::didReceiveContentLength):
939         * inspector/InspectorResourceAgent.h:
940         * inspector/front-end/NetworkManager.js:
941         (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
942         * inspector/front-end/Resource.js:
943         (WebInspector.Resource.prototype.get transferSize):
944         (WebInspector.Resource.prototype.increaseTransferSize):
945         * loader/ResourceLoadNotifier.cpp:
946         (WebCore::ResourceLoadNotifier::didReceiveData):
947         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
948         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
949         * loader/ResourceLoadNotifier.h:
950         * loader/appcache/ApplicationCacheGroup.cpp:
951         (WebCore::ApplicationCacheGroup::didReceiveData):
952         * platform/network/mac/ResourceHandleMac.mm:
953         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
954         * platform/network/qt/QNetworkReplyHandler.cpp:
955         (WebCore::QNetworkReplyHandler::forwardData):
956         * platform/network/soup/ResourceHandleSoup.cpp:
957         (WebCore::gotChunkCallback):
958         * platform/network/win/ResourceHandleWin.cpp:
959         (WebCore::ResourceHandle::onRequestComplete):
960         (WebCore::ResourceHandle::fileLoadTimer):
961
962 2011-03-21  Leo Yang  <leo.yang@torchmobile.com.cn>
963
964         Reviewed by Dirk Schulze.
965
966         symbol display <use> at wrong scale
967         https://bugs.webkit.org/show_bug.cgi?id=54538
968
969         SVG spec: http://www.w3.org/TR/SVG/struct.html#UseElement
970         Quotation for referenced <symbol>: "If attributes 'width'
971         and/or 'height' are provided on the 'use' element, then
972         these attributes will be transferred to the generated 'svg'."
973         Quotation for referenced <svg>: "If attributes 'width'
974         and/or 'height' are provided on the 'use' element, then
975         these values will override the corresponding attributes
976         on the 'svg' in the generated tree."
977         For above quotations, we should treat 'use' element as referencing
978         'use' element, just like Firefox 3.6 and Opera 11, instead of
979         corrensponding 'use' element.
980
981         Tests: svg/custom/use-transfer-width-height-properties-to-svg.svg
982                svg/custom/use-transfer-width-height-properties-to-svg1.svg
983                svg/custom/use-transfer-width-height-properties-to-svg2.svg
984                svg/custom/use-transfer-width-height-properties-to-symbol.svg
985                svg/custom/use-transfer-width-height-properties-to-symbol1.svg
986                svg/custom/use-transfer-width-height-properties-to-symbol2.svg
987
988         * svg/SVGElementInstance.cpp:
989         (WebCore::SVGElementInstance::SVGElementInstance):
990         * svg/SVGElementInstance.h:
991         (WebCore::SVGElementInstance::create):
992         (WebCore::SVGElementInstance::correspondingUseElement):
993         (WebCore::SVGElementInstance::directUseElement):
994         (WebCore::SVGElementInstance::clearUseElements):
995         * svg/SVGUseElement.cpp:
996         (WebCore::updateContainerSize):
997         (WebCore::SVGUseElement::updateContainerSizes):
998         (WebCore::dumpInstanceTree):
999         (WebCore::SVGUseElement::detachInstance):
1000         (WebCore::SVGUseElement::buildInstanceTree):
1001
1002 2011-03-21  Jaehun Lim  <ljaehun.lim@samsung.com>
1003
1004         Reviewed by Pavel Feldman.
1005
1006         Fix build break when inspector is enabled.
1007         https://bugs.webkit.org/show_bug.cgi?id=56735
1008
1009         * loader/FrameLoader.cpp:
1010         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Add ENABLE(INSPECTOR).
1011
1012 2011-03-21  Philippe Normand  <pnormand@igalia.com>
1013
1014         Unreviewed, GTK distcheck build fix.
1015
1016         * GNUmakefile.am:
1017
1018 2011-03-21  Julien Chaffraix  <jchaffraix@webkit.org>
1019
1020         Reviewed by Eric Seidel.
1021
1022         Bug 51465 - chrome.dll!WebCore::RenderLayer::currentTransform
1023         ReadAV@NULL (8968fc97874fa23b6799ff8f09c142e4)
1024
1025         Test: fast/css/webkit-empty-transform-preserve3d-crash.html
1026
1027         * rendering/RenderBox.cpp:
1028         (WebCore::RenderBox::layoutOverflowRectForPropagation): Mimicked the
1029         rest of the code and check that the RenderBox has a layer to avoid
1030         crashing on the layer() call.
1031
1032 2011-03-21  Pavel Feldman  <pfeldman@chromium.org>
1033
1034         Reviewed by Yury Semikhatsky.
1035
1036         Web Inspector: move cookie processing and appcache from DOMAgent.js
1037         https://bugs.webkit.org/show_bug.cgi?id=56713
1038
1039         * inspector/front-end/ApplicationCacheItemsView.js:
1040         (WebInspector.ApplicationCacheDispatcher):
1041         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
1042         (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
1043         (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
1044         * inspector/front-end/CookieItemsView.js:
1045         (WebInspector.Cookies.getCookiesAsync):
1046         (WebInspector.Cookies.buildCookiesFromString):
1047         (WebInspector.Cookies.cookieMatchesResourceURL):
1048         (WebInspector.Cookies.cookieDomainMatchesResourceDomain):
1049         * inspector/front-end/DOMAgent.js:
1050         (WebInspector.DOMNode.prototype.eventListeners):
1051         * inspector/front-end/EventListenersSidebarPane.js:
1052         (WebInspector.EventListenersSidebarPane.prototype.update):
1053
1054 2011-03-21  Pavel Feldman  <pfeldman@chromium.org>
1055
1056         Reviewed by Yury Semikhatsky.
1057
1058         Web Inspector: migrate Inspector.json to valid JSON types.
1059         https://bugs.webkit.org/show_bug.cgi?id=56651
1060
1061         This change migrates inspector from long to int as
1062         dom, storage, database and other id types.
1063
1064         * inspector/InjectedScriptHost.cpp:
1065         (WebCore::InjectedScriptHost::inspectedNode):
1066         (WebCore::InjectedScriptHost::databaseIdImpl):
1067         (WebCore::InjectedScriptHost::storageIdImpl):
1068         (WebCore::InjectedScriptHost::didCreateWorker):
1069         (WebCore::InjectedScriptHost::didDestroyWorker):
1070         * inspector/InjectedScriptHost.h:
1071         * inspector/InjectedScriptHost.idl:
1072         * inspector/Inspector.json:
1073         * inspector/InspectorAgent.cpp:
1074         (WebCore::InspectorAgent::highlightDOMNode):
1075         * inspector/InspectorAgent.h:
1076         * inspector/InspectorBrowserDebuggerAgent.cpp:
1077         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1078         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1079         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1080         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
1081         * inspector/InspectorBrowserDebuggerAgent.h:
1082         * inspector/InspectorCSSAgent.cpp:
1083         (WebCore::InspectorCSSAgent::getStylesForNode):
1084         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1085         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1086         (WebCore::InspectorCSSAgent::setPropertyText):
1087         (WebCore::InspectorCSSAgent::toggleProperty):
1088         (WebCore::InspectorCSSAgent::addRule):
1089         (WebCore::InspectorCSSAgent::elementForId):
1090         * inspector/InspectorCSSAgent.h:
1091         * inspector/InspectorConsoleAgent.cpp:
1092         (WebCore::InspectorConsoleAgent::count):
1093         (WebCore::InspectorConsoleAgent::addInspectedNode):
1094         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1095         * inspector/InspectorConsoleAgent.h:
1096         * inspector/InspectorDOMAgent.cpp:
1097         (WebCore::InspectorDOMAgent::bind):
1098         (WebCore::InspectorDOMAgent::unbind):
1099         (WebCore::InspectorDOMAgent::assertNode):
1100         (WebCore::InspectorDOMAgent::assertElement):
1101         (WebCore::InspectorDOMAgent::assertHTMLElement):
1102         (WebCore::InspectorDOMAgent::nodeToSelectOn):
1103         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
1104         (WebCore::InspectorDOMAgent::nodeForId):
1105         (WebCore::InspectorDOMAgent::getChildNodes):
1106         (WebCore::InspectorDOMAgent::querySelector):
1107         (WebCore::InspectorDOMAgent::querySelectorAll):
1108         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
1109         (WebCore::InspectorDOMAgent::boundNodeId):
1110         (WebCore::InspectorDOMAgent::setAttribute):
1111         (WebCore::InspectorDOMAgent::removeAttribute):
1112         (WebCore::InspectorDOMAgent::removeNode):
1113         (WebCore::InspectorDOMAgent::setNodeName):
1114         (WebCore::InspectorDOMAgent::getOuterHTML):
1115         (WebCore::InspectorDOMAgent::setOuterHTML):
1116         (WebCore::InspectorDOMAgent::setNodeValue):
1117         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1118         (WebCore::InspectorDOMAgent::resolveNode):
1119         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1120         (WebCore::InspectorDOMAgent::buildObjectForNode):
1121         (WebCore::InspectorDOMAgent::loadEventFired):
1122         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1123         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1124         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
1125         (WebCore::InspectorDOMAgent::characterDataModified):
1126         (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
1127         (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
1128         (WebCore::InspectorDOMAgent::copyNode):
1129         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
1130         * inspector/InspectorDOMAgent.h:
1131         * inspector/InspectorDOMStorageAgent.cpp:
1132         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
1133         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
1134         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
1135         (WebCore::InspectorDOMStorageAgent::storageId):
1136         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
1137         * inspector/InspectorDOMStorageAgent.h:
1138         * inspector/InspectorDOMStorageResource.cpp:
1139         * inspector/InspectorDOMStorageResource.h:
1140         (WebCore::InspectorDOMStorageResource::id):
1141         * inspector/InspectorDatabaseAgent.cpp:
1142         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
1143         (WebCore::InspectorDatabaseAgent::executeSQL):
1144         (WebCore::InspectorDatabaseAgent::databaseId):
1145         (WebCore::InspectorDatabaseAgent::databaseForId):
1146         * inspector/InspectorDatabaseAgent.h:
1147         * inspector/InspectorDatabaseResource.cpp:
1148         * inspector/InspectorDatabaseResource.h:
1149         (WebCore::InspectorDatabaseResource::id):
1150         * inspector/InspectorDebuggerAgent.cpp:
1151         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
1152         * inspector/InspectorDebuggerAgent.h:
1153         * inspector/InspectorProfilerAgent.cpp:
1154         (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize):
1155         * inspector/InspectorProfilerAgent.h:
1156         * inspector/InspectorResourceAgent.cpp:
1157         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
1158         (WebCore::InspectorResourceAgent::willSendRequest):
1159         (WebCore::InspectorResourceAgent::markResourceAsCached):
1160         (WebCore::InspectorResourceAgent::didReceiveResponse):
1161         (WebCore::InspectorResourceAgent::didReceiveContentLength):
1162         (WebCore::InspectorResourceAgent::didFinishLoading):
1163         (WebCore::InspectorResourceAgent::didFailLoading):
1164         (WebCore::InspectorResourceAgent::setInitialContent):
1165         (WebCore::InspectorResourceAgent::didCreateWebSocket):
1166         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
1167         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
1168         (WebCore::InspectorResourceAgent::didCloseWebSocket):
1169         * inspector/generate-inspector-idl:
1170
1171 2011-03-21  Pavel Feldman  <pfeldman@chromium.org>
1172
1173         Reviewed by Yury Semikhatsky.
1174
1175         Web Inspector: make frameId in network agent of type string, not unsigned long.
1176         https://bugs.webkit.org/show_bug.cgi?id=56708
1177
1178         * inspector/Inspector.json:
1179         * inspector/InspectorAgent.cpp:
1180         (WebCore::InspectorAgent::highlightFrame):
1181         * inspector/InspectorAgent.h:
1182         * inspector/InspectorResourceAgent.cpp:
1183         (WebCore::pointerAsId):
1184         (WebCore::buildObjectForDocumentLoader):
1185         (WebCore::buildObjectForFrame):
1186         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
1187         (WebCore::InspectorResourceAgent::frameForId):
1188         (WebCore::InspectorResourceAgent::resourceContent):
1189         * inspector/InspectorResourceAgent.h:
1190         * inspector/front-end/ResourcesPanel.js:
1191         (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame):
1192
1193 2011-03-21  Pavel Feldman  <pfeldman@chromium.org>
1194
1195         Reviewed by Yury Semikhatsky.
1196
1197         Web Inspector: expose object id as string, not JSON struct in the protocol.
1198         https://bugs.webkit.org/show_bug.cgi?id=56681
1199
1200         * bindings/js/JSInjectedScriptHostCustom.cpp:
1201         (WebCore::JSInjectedScriptHost::inspect):
1202         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1203         (WebCore::V8InjectedScriptHost::inspectCallback):
1204         * inspector/InjectedScript.cpp:
1205         (WebCore::InjectedScript::evaluateOn):
1206         (WebCore::InjectedScript::evaluateOnCallFrame):
1207         (WebCore::InjectedScript::getProperties):
1208         (WebCore::InjectedScript::nodeForObjectId):
1209         (WebCore::InjectedScript::setPropertyValue):
1210         (WebCore::InjectedScript::releaseObject):
1211         * inspector/InjectedScript.h:
1212         * inspector/InjectedScriptHost.cpp:
1213         (WebCore::InjectedScriptHost::inspectImpl):
1214         * inspector/InjectedScriptHost.h:
1215         * inspector/InjectedScriptManager.cpp:
1216         (WebCore::InjectedScriptManager::injectedScriptForObjectId):
1217         (WebCore::InjectedScriptManager::releaseObjectGroup):
1218         * inspector/InjectedScriptManager.h:
1219         * inspector/InjectedScriptSource.js:
1220         * inspector/Inspector.json:
1221         * inspector/InspectorConsoleAgent.cpp:
1222         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1223         * inspector/InspectorDOMAgent.cpp:
1224         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1225         * inspector/InspectorDOMAgent.h:
1226         * inspector/InspectorDebuggerAgent.cpp:
1227         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1228         * inspector/InspectorDebuggerAgent.h:
1229         * inspector/InspectorRuntimeAgent.cpp:
1230         (WebCore::InspectorRuntimeAgent::evaluateOn):
1231         (WebCore::InspectorRuntimeAgent::getProperties):
1232         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1233         (WebCore::InspectorRuntimeAgent::releaseObject):
1234         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
1235         * inspector/InspectorRuntimeAgent.h:
1236         * inspector/front-end/ConsoleView.js:
1237         (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
1238         (WebInspector.ConsoleView.prototype.completions):
1239         * inspector/front-end/PropertiesSidebarPane.js:
1240         * inspector/front-end/ScriptsPanel.js:
1241         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
1242         * inspector/front-end/WatchExpressionsSidebarPane.js:
1243         (WebInspector.WatchExpressionsSection.prototype.update):
1244         * inspector/front-end/inspector.js:
1245         (WebInspector.inspect):
1246
1247 2011-03-20  Bill Budge  <bbudge@chromium.org>
1248
1249         Reviewed by Adam Barth.
1250
1251         Rename ThreadSafeShared to ThreadSafeRefCounted
1252         https://bugs.webkit.org/show_bug.cgi?id=56714
1253
1254         No new tests. Exposes no new functionality.
1255
1256         * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Copied from ForwardingHeaders/wtf/ThreadSafeShared.h.
1257         * ForwardingHeaders/wtf/ThreadSafeShared.h: Removed.
1258         * bindings/v8/SerializedScriptValue.h:
1259         * dom/Document.cpp:
1260         * dom/default/PlatformMessagePortChannel.h:
1261         * fileapi/FileThread.h:
1262         * loader/ThreadableLoaderClientWrapper.h:
1263         (WebCore::ThreadableLoaderClientWrapper::create):
1264         (WebCore::ThreadableLoaderClientWrapper::clearClient):
1265         (WebCore::ThreadableLoaderClientWrapper::done):
1266         (WebCore::ThreadableLoaderClientWrapper::didSendData):
1267         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
1268         (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
1269         (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata):
1270         (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
1271         (WebCore::ThreadableLoaderClientWrapper::didFail):
1272         (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
1273         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
1274         (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
1275         * page/SecurityOrigin.h:
1276         * platform/CrossThreadCopier.h:
1277         * platform/network/BlobData.h:
1278         * platform/network/cf/SocketStreamHandle.h:
1279         * storage/AbstractDatabase.h:
1280         * storage/DatabaseAuthorizer.h:
1281         * storage/DatabaseCallback.h:
1282         * storage/DatabaseThread.h:
1283         * storage/IDBCallbacks.h:
1284         * storage/IDBCursorBackendInterface.h:
1285         * storage/IDBDatabaseBackendInterface.h:
1286         * storage/IDBFactoryBackendInterface.h:
1287         * storage/IDBIndexBackendInterface.h:
1288         * storage/IDBKey.h:
1289         * storage/IDBKeyRange.h:
1290         * storage/IDBObjectStoreBackendInterface.h:
1291         * storage/IDBRequest.h:
1292         * storage/IDBTransactionBackendInterface.h:
1293         * storage/SQLError.h:
1294         * storage/SQLResultSet.h:
1295         * storage/SQLStatement.h:
1296         * storage/SQLStatementCallback.h:
1297         * storage/SQLStatementErrorCallback.h:
1298         * storage/SQLTransaction.h:
1299         * storage/SQLTransactionCallback.h:
1300         * storage/SQLTransactionErrorCallback.h:
1301         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1302         * workers/DefaultSharedWorkerRepository.cpp:
1303
1304 2011-03-20  Andreas Kling  <kling@webkit.org>
1305
1306         Reviewed by Kenneth Rohde Christiansen.
1307
1308         [Qt] Clean up redirection logic in QNetworkReplyHandler
1309         https://bugs.webkit.org/show_bug.cgi?id=56717
1310
1311         * platform/network/qt/QNetworkReplyHandler.cpp:
1312         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1313         Use resetState() when constructing QNRH as well.
1314
1315         (WebCore::QNetworkReplyHandler::resetState):
1316         Delete (deferred) the m_reply if one exists (only when redirecting.)
1317
1318         (WebCore::QNetworkReplyHandler::finish):
1319         Return early when redirecting.
1320
1321         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1322         (WebCore::QNetworkReplyHandler::redirect):
1323         Move the redirection logic from sendResponseIfNeeded() into a
1324         separate redirect() method.
1325
1326 2011-03-19  Andreas Kling  <kling@webkit.org>
1327
1328         Reviewed by Benjamin Poulain.
1329
1330         [Qt] Rename ignoreHttpError() to shouldIgnoreHttpError()
1331
1332         The function doesn't ignore anything, thus it shouldn't have an imperative name.
1333
1334         * platform/network/qt/QNetworkReplyHandler.cpp:
1335         (WebCore::shouldIgnoreHttpError):
1336         (WebCore::QNetworkReplyHandler::finish):
1337         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1338
1339 2011-03-19  Andreas Kling  <kling@webkit.org>
1340
1341         Reviewed by Benjamin Poulain.
1342
1343         [Qt] Kill layer violation FIXME in ResourceHandleQt.
1344
1345         We were including qwebframe_p.h from WebKit/qt for no reason.
1346
1347         * platform/network/qt/ResourceHandleQt.cpp:
1348
1349 2011-03-19  Andreas Kling  <kling@webkit.org>
1350
1351         Reviewed by Benjamin Poulain.
1352
1353         [Qt] Refactor handling of deferred loads
1354         https://bugs.webkit.org/show_bug.cgi?id=56715
1355
1356         Split QNetworkReplyHandler's "load mode" into two parameters
1357         instead of trying to fit the deferral mechanism into it.
1358
1359         Loads are now AsynchronousLoad (default) or SynchronousLoad (for sync XHR.)
1360
1361         * platform/network/qt/QNetworkReplyHandler.cpp:
1362         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1363         (WebCore::QNetworkReplyHandler::setLoadingDeferred):
1364         (WebCore::QNetworkReplyHandler::resumeDeferredLoad):
1365         (WebCore::QNetworkReplyHandler::finish):
1366         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1367         (WebCore::QNetworkReplyHandler::forwardData):
1368         (WebCore::QNetworkReplyHandler::start):
1369         (WebCore::QNetworkReplyHandler::resetState):
1370         * platform/network/qt/QNetworkReplyHandler.h:
1371         * platform/network/qt/ResourceHandleQt.cpp:
1372         (WebCore::ResourceHandle::start):
1373         (WebCore::ResourceHandle::loadResourceSynchronously):
1374         (WebCore::ResourceHandle::platformSetDefersLoading):
1375
1376 2011-03-19  Anton D'Auria  <adauria@apple.com>
1377
1378         Reviewed by Alexey Proskuryakov.
1379
1380         ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin
1381         https://bugs.webkit.org/show_bug.cgi?id=56415
1382
1383         To delete all Application Cache for an origin, we must obsolete all
1384         in-memory cache groups for that origin. If a cache group isn't in memory,
1385         then it must be deleted from disk. The previous implementation correctly
1386         removed on-disk cache groups, but did not mark in-memory cache groups as obsolete.
1387         This caused an assertion failure in ApplicationCacheStorage::cacheGroupDestroyed()
1388         when the DocumentLoader was destroyed.
1389
1390         Test: http/tests/appcache/origin-delete.html
1391
1392         * WebCore.exp.in:
1393         * WebCore.xcodeproj/project.pbxproj:
1394         * loader/appcache/ApplicationCache.cpp:
1395         (WebCore::ApplicationCache::clearStorageID):
1396         (WebCore::ApplicationCache::deleteCacheForOrigin):
1397         * loader/appcache/ApplicationCache.h:
1398         * loader/appcache/ApplicationCacheStorage.cpp:
1399         (WebCore::ApplicationCacheStorage::findInMemoryCacheGroup):
1400         * loader/appcache/ApplicationCacheStorage.h:
1401
1402 2011-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1403
1404         Reviewed by Antonio Gomes.
1405
1406         [EFL] Add dummy GeolocationServiceEfl. cpp | h
1407         https://bugs.webkit.org/show_bug.cgi?id=56710
1408
1409         Add dummy GeolocationServiceEfl.cpp | h to platform/efl.
1410
1411         * CMakeListsEfl.txt:
1412         * platform/efl/GeolocationServiceEfl.cpp: Added.
1413         (WebCore::GeolocationServiceEfl::create):
1414         (WebCore::GeolocationServiceEfl::GeolocationServiceEfl):
1415         (WebCore::GeolocationServiceEfl::~GeolocationServiceEfl):
1416         (WebCore::GeolocationServiceEfl::startUpdating):
1417         (WebCore::GeolocationServiceEfl::stopUpdating):
1418         (WebCore::GeolocationServiceEfl::suspend):
1419         (WebCore::GeolocationServiceEfl::resume):
1420         (WebCore::GeolocationServiceEfl::lastPosition):
1421         (WebCore::GeolocationServiceEfl::lastError):
1422         * platform/efl/GeolocationServiceEfl.h: Added.
1423
1424 2011-03-19  Patrick Gansterer  <paroga@webkit.org>
1425
1426         Unreviewed, rolling out r81551.
1427         http://trac.webkit.org/changeset/81551
1428         https://bugs.webkit.org/show_bug.cgi?id=55336
1429
1430         Broke some storage tests on Win32.
1431
1432         * platform/win/FileSystemWin.cpp:
1433         (WebCore::statFile):
1434         (WebCore::getFileSize):
1435         (WebCore::getFileModificationTime):
1436         (WebCore::fileExists):
1437
1438 2011-03-19  Andreas Kling  <kling@webkit.org>
1439
1440         Reviewed by Benjamin Poulain.
1441
1442         [Qt] Remove support for Qt 4.6
1443         https://bugs.webkit.org/show_bug.cgi?id=56712
1444
1445         * platform/graphics/qt/FontPlatformDataQt.cpp:
1446         (WebCore::FontPlatformData::FontPlatformData):
1447         * platform/graphics/qt/FontQt.cpp:
1448         (WebCore::drawTextCommon):
1449         (WebCore::Font::drawSimpleText):
1450         (WebCore::Font::floatWidthForSimpleText):
1451         (WebCore::Font::offsetForPositionForSimpleText):
1452         (WebCore::Font::selectionRectForSimpleText):
1453         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1454         (WebCore::GraphicsContext3DInternal::paint):
1455         * platform/graphics/qt/ImageBufferQt.cpp:
1456         (WebCore::getImageData):
1457         * platform/graphics/qt/ImageDecoderQt.cpp:
1458         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1459         * platform/graphics/qt/PathQt.cpp:
1460         (WebCore::Path::transform):
1461         * platform/network/qt/DnsPrefetchHelper.h:
1462         (WebCore::DnsPrefetchHelper::DnsPrefetchHelper):
1463         (WebCore::DnsPrefetchHelper::lookup):
1464         * platform/network/qt/NetworkStateNotifierPrivate.h:
1465         * platform/network/qt/NetworkStateNotifierQt.cpp:
1466         * platform/network/qt/QNetworkReplyHandler.cpp:
1467         (WebCore::QNetworkReplyHandler::httpMethod):
1468         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1469         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1470         (WebCore::QNetworkReplyHandler::start):
1471         * platform/network/qt/ResourceRequestQt.cpp:
1472         (WebCore::ResourceRequest::toNetworkRequest):
1473         * platform/qt/RenderThemeQt.cpp:
1474         (WebCore::RenderThemeQt::paintMediaSliderTrack):
1475
1476 2011-03-19  Patrick Gansterer  <paroga@webkit.org>
1477
1478         Reviewed by Adam Roben.
1479
1480         Use Win32 API to get file information
1481         https://bugs.webkit.org/show_bug.cgi?id=55336
1482
1483         Use GetFileInformationByHandle() in favour over _wstat64(), GetFileSizeEx()
1484         and GetFileAttributesEx() so we can share the code with WinCE.
1485
1486         * platform/win/FileSystemWin.cpp:
1487         (WebCore::createFileHandle):
1488         (WebCore::getFileInformation):
1489         (WebCore::getFileSize):
1490         (WebCore::getFileModificationTime):
1491         (WebCore::fileExists):
1492
1493 2011-03-19  Xan Lopez  <xlopez@igalia.com>
1494
1495         Reviewed by Martin Robinson.
1496
1497         [GTK] Simplify GObjectEventListener
1498         https://bugs.webkit.org/show_bug.cgi?id=56698
1499
1500         Get rid of special case for DOMWindow, since it's also an
1501         EventTarget.
1502
1503         * bindings/gobject/GObjectEventListener.cpp:
1504         (WebCore::GObjectEventListener::GObjectEventListener): remove
1505         DOMWindow special casing.
1506         (WebCore::GObjectEventListener::~GObjectEventListener): ditto.
1507         (WebCore::GObjectEventListener::gobjectDestroyed):
1508         * bindings/gobject/GObjectEventListener.h:
1509         (WebCore::GObjectEventListener::addEventListener): ditto.
1510         (WebCore::GObjectEventListener::removeEventListener): ditto.
1511
1512 2011-03-19  Ben Taylor  <bentaylor.solx86@gmail.com>
1513
1514         Reviewed by Nikolas Zimmermann.
1515
1516         https://bugs.webkit.org/show_bug.cgi?id=56195
1517         Fix conditional which had an int for one case and a pointer for another.
1518         Similar fix as https://bugs.webkit.org/show_bug.cgi?id=56198
1519
1520         No new tests. Fix compilation on Solaris 10 with Sun Studio C++
1521
1522         * svg/SVGElement.cpp:
1523         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
1524
1525 2011-03-19  Patrick Gansterer  <paroga@webkit.org>
1526
1527         Reviewed by Darin Adler.
1528
1529         Rename WTF::StringHasher methods
1530         https://bugs.webkit.org/show_bug.cgi?id=53532
1531
1532         Rename createHash to computeHash and createBlobHash to hashMemory.
1533         Also add a using WTF::StringHasher in the header file.
1534
1535         * dom/Document.cpp:
1536         (WebCore::FormElementKeyHash::hash):
1537         * dom/QualifiedName.h:
1538         (WebCore::hashComponents):
1539         * dom/StyledElement.cpp:
1540         (WebCore::MappedAttributeHash::hash):
1541         * loader/appcache/ApplicationCacheStorage.cpp:
1542         (WebCore::urlHostHash):
1543         * page/SecurityOriginHash.h:
1544         (WebCore::SecurityOriginHash::hash):
1545         * platform/LinkHash.cpp:
1546         (WebCore::visitedLinkHashInline):
1547         * platform/cf/BinaryPropertyList.cpp:
1548         (WebCore::IntegerArrayHash::hash):
1549         * platform/cf/SchedulePair.h:
1550         (WebCore::SchedulePairHash::hash):
1551         * platform/graphics/FontCache.cpp:
1552         (WebCore::computeHash):
1553         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1554         (WebCore::FontPlatformData::RefCountedHFONT::hash):
1555         * platform/graphics/cocoa/FontPlatformData.h:
1556         (WebCore::FontPlatformData::hash):
1557         * platform/graphics/pango/FontPlatformData.h:
1558         (WebCore::FontPlatformData::hash):
1559         * platform/graphics/wince/FontPlatformData.cpp:
1560         (WebCore::FixedSizeFontDataKeyHash::hash):
1561         * platform/graphics/wx/FontPlatformDataWx.cpp:
1562         (WebCore::FontPlatformData::computeHash):
1563         * platform/network/ProtectionSpaceHash.h:
1564         (WebCore::ProtectionSpaceHash::hash):
1565         * plugins/PluginPackage.cpp:
1566         (WebCore::PluginPackage::hash):
1567         * plugins/win/PluginPackageWin.cpp:
1568         (WebCore::PluginPackage::hash):
1569         * svg/properties/SVGAnimatedPropertyDescription.h:
1570         (WebCore::SVGAnimatedPropertyDescriptionHash::hash):
1571
1572 2011-03-18  David Kilzer  <ddkilzer@apple.com>
1573
1574         <http://webkit.org/b/56688> Fix clang static analyzer warning in WebCoreViewFactory.m
1575
1576         Reviewed by Anders Carlsson.
1577
1578         Fixes the following static analyzer warning:
1579
1580             Source/WebCore/page/mac/WebCoreViewFactory.m:45:5: warning: Returning 'self' while it is not set to the result of '[(super or self) init...]'
1581                  return self;
1582                  ^
1583
1584         * page/mac/WebCoreViewFactory.m:
1585         (-[WebCoreViewFactory init]): Assign the result of [super init]
1586         to self.
1587
1588 2011-03-18  Adam Barth  <abarth@webkit.org>
1589
1590         Reviewed by Dimitri Glazkov.
1591
1592         WebCore GYP build should build
1593         https://bugs.webkit.org/show_bug.cgi?id=56696
1594
1595         After this patch, the WebCore GYP build successfully compiles and
1596         links.  I haven't trying executing it yet.
1597
1598         * WebCore.gypi:
1599             - DOMMouseEvent should be included as part of the Objective-C bindings.
1600         * WebCore.xcodeproj/project.pbxproj:
1601             - RenderSVGPath.cpp was mistakenly included directly in the project
1602               instead of being built by RenderSVGAllInOne.
1603         * gyp/WebCore.gyp:
1604             - Exclude some more files from the build.  These files are absent
1605               in the normal build.  I didn't see them earlier because the dead
1606               code stripping was hiding them.  (They're probably unreferenced.)
1607             - Switch to using RenderSVGAllInOne.  I'm not entirely sure if this
1608               part of the patch is necessary, but it matches the normal build
1609               more closely.
1610         * platform/mac/WebCoreObjCExtras.mm:
1611             - The normal build passes the -Wdeprecated-declarations flag when
1612               compiling this file.  The GYP folks explicitly do not want to add
1613               that feature to GYP, and there does not appear to be a way to
1614               remove the deprecated call from this file.
1615         * rendering/svg/RenderSVGAllInOne.cpp:
1616             - Add RenderSVGPath.cpp, which was missing previously.
1617
1618 2011-03-18  Adam Barth  <abarth@webkit.org>
1619
1620         Reviewed by Dimitri Glazkov.
1621
1622         WebCore GYP build should (almost!) link
1623         https://bugs.webkit.org/show_bug.cgi?id=56689
1624
1625         This patch is a grab-bag of small changes to bring the WebCore GYP
1626         build down to two link errors or one compile error (take your pick).
1627         We might need a GYP change to get this last file to compile, however.
1628
1629         * WebCore.gypi:
1630         * gyp/WebCore.gyp:
1631
1632 2011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
1633
1634         Reviewed by Ojan Vafai.
1635
1636         Add a test for r81266 and fix HTML Editing for fallback contents in object element
1637         https://bugs.webkit.org/show_bug.cgi?id=56505
1638
1639         The bug was caused by canHaveChildrenForEditing's always returning false even when
1640         object element used fallback content. Fixed the bug by adding a check.
1641
1642         Test: editing/editability/ignored-content.html
1643
1644         * editing/htmlediting.cpp:
1645         (WebCore::canHaveChildrenForEditing):
1646
1647 2011-03-18  Andy Estes  <aestes@apple.com>
1648
1649         Reviewed by Eric Seidel.
1650
1651         REGRESSION (r80231): Bad cast in HTMLTreeBuilder::processStartTag
1652         https://bugs.webkit.org/show_bug.cgi?id=56380
1653         
1654         Fix two issues with parsing a fragment that has a foreign content
1655         element as its context element. The first issue is that the parser will
1656         initially be in the InForeignContentMode insertion mode when processing
1657         the first tag in the fragment in this case so one call site needs to
1658         change from currentElement() to currentNode(). The second issue is that
1659         when we changed fragments from using a fake HTML root element to a
1660         DocumentFragment we broke checks that assumed the root element was in
1661         the HTML namespace. Fix this by claiming that the DocumentFragment is
1662         also in the HTML namespace.
1663
1664         Test: fast/parser/fragment-foreign-content-context.html
1665
1666         * html/parser/HTMLElementStack.cpp:
1667         (WebCore::HTMLNames::isForeignContentScopeMarker):
1668         (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
1669         * html/parser/HTMLElementStack.h:
1670         (WebCore::isInHTMLNamespace):
1671         * html/parser/HTMLTreeBuilder.cpp:
1672         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
1673         (WebCore::HTMLTreeBuilder::processStartTag):
1674         (WebCore::HTMLTreeBuilder::processEndTag):
1675
1676 2011-03-18  James Robinson  <jamesr@chromium.org>
1677
1678         Reviewed by Dimitri Glazkov.
1679
1680         REGRESSION(78846) [chromium] Justified text renders at incorrect offsets on windows
1681         https://bugs.webkit.org/show_bug.cgi?id=56629
1682
1683         Preserves offsets as absolute floating point offsets and rounds to
1684         advances at the last possible second.  I can't prove to myself that
1685         this is sound but it seems to work on the test cases I've constructed.
1686
1687         Will probably change the pixel tests on chromium windows given that we
1688         were horribly broken before this patch.
1689
1690         * platform/graphics/chromium/FontChromiumWin.cpp:
1691         (WebCore::Font::drawGlyphs):
1692         (WebCore::Font::drawComplexText):
1693
1694 2011-03-18  Ryosuke Niwa  <rniwa@webkit.org>
1695
1696         Reviewed by Eric Seidel.
1697
1698         REGRESSION(81374, 81384): editing/deleting/5206311-1.html hits assertion on non-Mac platforms
1699         https://bugs.webkit.org/show_bug.cgi?id=56599
1700
1701         Debug build fix.
1702
1703         * dom/Position.cpp:
1704         (WebCore::Position::parentAnchoredEquivalent): If the original position was a position before a node,
1705         then we can't necessarily instantiate a position inside the node.
1706         * editing/VisibleSelection.cpp:
1707         (WebCore::VisibleSelection::toNormalizedRange): Even if s and e were not null, container nodes of s and e
1708         could be null. Exit early in those cases as well.
1709
1710 2011-03-18  Adam Barth  <abarth@webkit.org>
1711
1712         Reviewed by Eric Seidel.
1713
1714         Add ObjC bindings to the WebCore GYP build
1715         https://bugs.webkit.org/show_bug.cgi?id=56671
1716
1717         It turns out we generate a bunch of ObjC bindings files that we don't
1718         actually build.  I've manually synced the list of ObjC derived source
1719         files to match the existing list.  This brings us down to 19 link
1720         errors.
1721
1722         * WebCore.gypi:
1723         * gyp/WebCore.gyp:
1724
1725 2011-03-18  Ryuan Choi  <ryuan.choi@samsung.com>
1726
1727         Reviewed by Eric Seidel.
1728
1729         [CMAKE] Split JSC related configurations from WebCore/CMakeLists.txt
1730         https://bugs.webkit.org/show_bug.cgi?id=56624
1731
1732         No new tests, just splitting jsc related configuration.
1733
1734         * CMakeLists.txt:
1735         * UseJSC.cmake: Added.
1736
1737 2011-03-16  Stephen White  <senorblanco@chromium.org>
1738
1739         Reviewed by Kenneth Russell.
1740
1741         Implement GPU-accelerated shadows.
1742         https://bugs.webkit.org/show_bug.cgi?id=56476
1743
1744         For hard shadows, we simply offset the CTM and draw in the shadow
1745         color.  For soft shadows, we use a separable Gaussian convolution,
1746         with a bilinear downsample and Mitchell-Netravali upsample in order to
1747         preserve quality.
1748
1749         * WebCore.gypi:
1750         Add BicubicShader and ConvolutionShader to the build.
1751         * platform/graphics/chromium/GLES2Canvas.cpp:
1752         (WebCore::GLES2Canvas::State::State):
1753         Add shadow-related members to the GLES2Canvas::State
1754         (WebCore::GLES2Canvas::State::shadowActive):
1755         Add a helper function to know if shadows are active.
1756         (WebCore::GLES2Canvas::clearRect):
1757         (WebCore::GLES2Canvas::scissorClear):
1758         Refactor the scissor clearing function out of clearRect().
1759         (WebCore::GLES2Canvas::fillPath):
1760         Add hook for shadow rendering in paths.  Bind framebuffer at this level.
1761         (WebCore::GLES2Canvas::fillRect):
1762         Add hook for shadow rendering in rects.  Bind framebuffer at this level.
1763         (WebCore::GLES2Canvas::fillRectInternal):
1764         Rename fillRect() -> fillRectInternal(), which does bind its vertex 
1765         buffer, but does not bind the framebuffer.
1766         (WebCore::GLES2Canvas::setShadowColor):
1767         (WebCore::GLES2Canvas::setShadowOffset):
1768         (WebCore::GLES2Canvas::setShadowBlur):
1769         (WebCore::GLES2Canvas::setShadowsIgnoreTransforms):
1770         Implement graphicsContext-style setters for shadow parameters.
1771         (WebCore::GLES2Canvas::clipPath):
1772         Call fillPathInternal(), not fillPath().
1773         (WebCore::GLES2Canvas::restore):
1774         (WebCore::GLES2Canvas::drawTexturedRect):
1775         Bind the framebuffer at this level.  Do not bind vertices here (will
1776         be done in drawTexturedQuad).
1777         (WebCore::GLES2Canvas::drawTexturedRectTile):
1778         drawQuad() -> drawTexturedQuad().
1779         (WebCore::GLES2Canvas::convolveRect):
1780         Implement one pass of a convolution filter (X or Y).
1781         (WebCore::gauss):
1782         (WebCore::buildKernel):
1783         Some helper functions to build a Gaussian convolution kernel.
1784         (WebCore::GLES2Canvas::drawTexturedQuad):
1785         Rename drawQuad() -> drawTexturedQuad(), to be more clear.  Do not
1786         bind the framebuffer at this level (it will be done higher).
1787         (WebCore::GLES2Canvas::drawTexturedQuadMitchell):
1788         Implement Mitchell-Netravali bicubic sampling, using BicubicShader.
1789         (WebCore::GLES2Canvas::fillPathInternal):
1790         Rename fillPath() -> fillPathInternal(), which does use quad vertices,
1791         but does not bind the framebuffer or set the compositing mode.
1792         (WebCore::GLES2Canvas::flipRect):
1793         Implement a helper function to flip a rectangle in Y within the canvas.
1794         (WebCore::GLES2Canvas::clearBorders):
1795         Implement a helper function to clear an n-pixel border around a rect.
1796         (WebCore::GLES2Canvas::beginShadowDraw):
1797         Setup before drawing a primitive's shadow:  for hard shadows, just
1798         offset the CTM by the shadow offset.  For soft shadows, bind to an
1799         offscreen DrawingBuffer.
1800         (WebCore::GLES2Canvas::endShadowDraw):
1801         Tear-down after drawing a primitive's shadow:  for hard shadows, just
1802         restore the CTM.  For soft shadows, downsample (if necessary), then
1803         blur in X, blur in Y, upsample if necessary).
1804         * platform/graphics/chromium/GLES2Canvas.h:
1805         * platform/graphics/gpu/BicubicShader.cpp: Added.
1806         (WebCore::BicubicShader::BicubicShader):
1807         (WebCore::BicubicShader::create):
1808         (WebCore::BicubicShader::use):
1809         * platform/graphics/gpu/BicubicShader.h: Added.
1810         Implement a bicubic image filtering shader.
1811         * platform/graphics/gpu/ConvolutionShader.cpp: Added.
1812         (WebCore::ConvolutionShader::ConvolutionShader):
1813         (WebCore::ConvolutionShader::create):
1814         (WebCore::ConvolutionShader::use):
1815         * platform/graphics/gpu/ConvolutionShader.h: Added.
1816         Implement a 1-dimensional convolution shader.  In order to minimize
1817         texture samples, this shader is parameterized at compile time by the
1818         width of the convolution kernel.
1819         * platform/graphics/gpu/DrawingBuffer.h:
1820         (WebCore::DrawingBuffer::colorBuffer):
1821         Add an accessor to retrieve a DrawingBuffer's texture ID.
1822         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1823         (WebCore::SharedGraphicsContext3D::create):
1824         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
1825         (WebCore::SharedGraphicsContext3D::useBicubicProgram):
1826         (WebCore::SharedGraphicsContext3D::useConvolutionProgram):
1827         Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for
1828         each possible kernel width).
1829         (WebCore::SharedGraphicsContext3D::getOffscreenBuffer):
1830         Implement a simple cache of offscreen DrawingBuffers, integer-indexed.
1831         This is done to minimize the VRAM usage:  only 2 buffers are used for
1832         all canvases.
1833         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1834         Add bicubic and convolution shader members, and useXXX() functions.
1835         * platform/graphics/skia/GraphicsContextSkia.cpp:
1836         (WebCore::GraphicsContext::setPlatformShadow):
1837         Hook into GraphicsContextSkia's platform shadow setters to set
1838         parameters on GLES2Canvas.
1839         * platform/graphics/skia/PlatformContextSkia.cpp:
1840         (WebCore::PlatformContextSkia::canAccelerate):
1841         Remove shadows (loopers) from the list of things we can't accelerate.
1842
1843 2011-03-18  Andreas Kling  <kling@webkit.org>
1844
1845         Reviewed by Darin Adler.
1846
1847         Remove unused method FontFallbackList::fontDataForCharacters()
1848         https://bugs.webkit.org/show_bug.cgi?id=56657
1849
1850         * platform/graphics/Font.h:
1851         * platform/graphics/FontFallbackList.cpp:
1852         * platform/graphics/FontFallbackList.h:
1853
1854 2011-03-18  Andreas Kling  <kling@webkit.org>
1855
1856         Reverting accidental changes in r81498.
1857
1858 2011-03-18  Ilya Tikhonovsky  <loislo@chromium.org>
1859
1860         Reviewed by Yury Semikhatsky.
1861
1862         Web Inspector: rename console agent events.
1863         https://bugs.webkit.org/show_bug.cgi?id=56646
1864
1865         addConsoleMessage -> consoleMessage
1866         updateConsoleMessageExpiredCount -> consoleMessageExpiredCountUpdate
1867         updateConsoleMessageRepeatCount -> consoleMessageRepeatCountUpdate
1868
1869         * inspector/ConsoleMessage.cpp:
1870         (WebCore::ConsoleMessage::addToFrontend):
1871         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
1872         * inspector/Inspector.json:
1873         * inspector/InspectorConsoleAgent.cpp:
1874         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1875         * inspector/front-end/ConsoleView.js:
1876         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessage):
1877         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageExpiredCountUpdate):
1878         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdate):
1879
1880 2011-03-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1881
1882         Unreviewed, rolling out r81487.
1883         http://trac.webkit.org/changeset/81487
1884         https://bugs.webkit.org/show_bug.cgi?id=56662
1885
1886         "Breaks inspector/styles/styles-add-blank-property.html"
1887         (Requested by apavlov on #webkit).
1888
1889         * inspector/Inspector.json:
1890         * inspector/InspectorCSSAgent.cpp:
1891         (WebCore::InspectorCSSAgent::getAllStyles):
1892         * inspector/InspectorCSSAgent.h:
1893         * inspector/InspectorStyleSheet.cpp:
1894         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
1895         * inspector/InspectorStyleSheet.h:
1896         * inspector/front-end/AuditRules.js:
1897         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
1898         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
1899         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1900         * inspector/front-end/CSSStyleModel.js:
1901         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
1902         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1903         (WebInspector.CSSStyleModel.prototype._onRevert):
1904         (WebInspector.CSSStyleSheet):
1905         (WebInspector.CSSStyleSheet.prototype.setText):
1906
1907 2011-03-18  Justin Novosad  <junov@chromium.org>
1908
1909         Reviewed by Kenneth Russell.
1910
1911         [Chromium] Canvas shadow is not working with drawImage
1912         https://bugs.webkit.org/show_bug.cgi?id=55506
1913
1914         Patch also fixes shadow blur quality and color. 
1915         Affects Chromium win/linux. Also fixes the following bugs:
1916         https://bugs.webkit.org/show_bug.cgi?id=50112
1917         https://bugs.webkit.org/show_bug.cgi?id=51989
1918         https://bugs.webkit.org/show_bug.cgi?id=55410
1919         No tests were added, impact is already covered by multiple layout tests.
1920
1921         * platform/graphics/skia/GraphicsContextSkia.cpp:
1922         (WebCore::GraphicsContext::setPlatformShadow):
1923         * platform/graphics/skia/ImageSkia.cpp:
1924         (WebCore::paintSkBitmap):
1925
1926 2011-03-15  Alexander Pavlov  <apavlov@chromium.org>
1927
1928         Reviewed by Pavel Feldman.
1929
1930         Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
1931         https://bugs.webkit.org/show_bug.cgi?id=56310
1932
1933         Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
1934         "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
1935         by CSSAgent.getStyleSheet() anymore.
1936
1937         Test: inspector/styles/get-set-stylesheet-text.html
1938
1939         * inspector/Inspector.json:
1940         * inspector/InspectorCSSAgent.cpp:
1941         (WebCore::InspectorCSSAgent::getAllStyleSheets):
1942         * inspector/InspectorCSSAgent.h:
1943         * inspector/InspectorStyleSheet.cpp:
1944         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
1945         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
1946         * inspector/InspectorStyleSheet.h:
1947         * inspector/front-end/AuditRules.js:
1948         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
1949         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
1950         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1951         * inspector/front-end/CSSStyleModel.js:
1952         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
1953         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1954         (WebInspector.CSSStyleModel.prototype._onRevert):
1955         (WebInspector.CSSStyleSheet):
1956         (WebInspector.CSSStyleSheet.prototype.setText):
1957
1958 2011-03-18  David Keijser  <keijser@gmail.com> and Xan Lopez <xlopez@igalia.com>
1959
1960         Reviewed by Martin Robinson.
1961
1962         [GTK] On-demand event-listeners for DOM event signals
1963         https://bugs.webkit.org/show_bug.cgi?id=49649
1964
1965         Add explicit EventTarget API to add/remove event listeners instead
1966         of using GSignal, which due to internal limitations in glib makes
1967         us preemptively add listeners for all event types.
1968
1969         * bindings/gobject/GObjectEventListener.cpp: add new
1970         addEventListener/removeEventListener methods, and small
1971         refactoring to store an EventTarget internally instead of a DOM
1972         node, which is more generic and can be reused in more cases.
1973         * bindings/gobject/GObjectEventListener.h: ditto.
1974         * bindings/gobject/WebKitDOMEventTarget.cpp:
1975         (webkit_dom_event_target_add_event_listener): new iface method to
1976         add an event listener.
1977         (webkit_dom_event_target_remove_event_listener): new iface method
1978         to remove an event listener.
1979         * bindings/gobject/WebKitDOMEventTarget.h: add new iface methods.
1980         * bindings/scripts/CodeGeneratorGObject.pm: change code generation
1981         accordingly.
1982
1983 2011-03-18  Brady Eidson  <beidson@apple.com>
1984
1985         Reviewed by Sam Weinig.
1986
1987         https://bugs.webkit.org/show_bug.cgi?id=56425
1988         More groundwork for WebKit2 IconDatabase
1989
1990         -Update the synchronous method names to be prefixed with "synchronous."
1991         -Call asynchronous versions of the appropriate methods if the IconDatabase supports them.
1992
1993         Update icon database calls to be prefixed with "synchronous":
1994         * loader/archive/cf/LegacyWebArchive.cpp:
1995         (WebCore::LegacyWebArchive::create):
1996         * loader/icon/IconDatabaseBase.h:
1997         (WebCore::IconDatabaseBase::synchronousIconDataKnownForIconURL):
1998         (WebCore::IconDatabaseBase::synchronousLoadDecisionForIconURL):
1999         (WebCore::IconDatabaseBase::synchronousIconForPageURL):
2000         * loader/icon/IconDatabase.cpp:
2001         (WebCore::IconDatabase::synchronousIconForPageURL):
2002         (WebCore::IconDatabase::readIconForPageURLFromDisk):
2003         (WebCore::IconDatabase::synchronousIconURLForPageURL):
2004         (WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
2005         (WebCore::IconDatabase::synchronousIconDataKnownForIconURL):
2006         * loader/icon/IconDatabase.h:
2007         * loader/icon/IconDatabaseBase.cpp:
2008         (WebCore::IconDatabaseBase::synchronousIconURLForPageURL):
2009
2010         Add nascent support for an asynchronous icon database mode:
2011         * loader/icon/IconDatabaseBase.h:
2012         (WebCore::EnumCallback::create):
2013         (WebCore::EnumCallback::~EnumCallback):
2014         (WebCore::EnumCallback::performCallback):
2015         (WebCore::EnumCallback::invalidate):
2016         (WebCore::EnumCallback::EnumCallback):
2017         (WebCore::ObjectCallback::create):
2018         (WebCore::ObjectCallback::~ObjectCallback):
2019         (WebCore::ObjectCallback::performCallback):
2020         (WebCore::ObjectCallback::invalidate):
2021         (WebCore::ObjectCallback::ObjectCallback):
2022         (WebCore::IconDatabaseBase::supportsAsynchronousMode):
2023         (WebCore::IconDatabaseBase::loadDecisionForIconURL):
2024         (WebCore::IconDatabaseBase::iconDataForIconURL):
2025
2026         Add interfaces to use the asynchronous versions of certain IconDatabase calls:
2027         * loader/DocumentLoader.cpp:
2028         (WebCore::DocumentLoader::~DocumentLoader):
2029         (WebCore::DocumentLoader::iconLoadDecisionAvailable):
2030         (WebCore::iconLoadDecisionCallback):
2031         (WebCore::DocumentLoader::getIconLoadDecisionForIconURL):
2032         (WebCore::DocumentLoader::continueIconLoadWithDecision):
2033         (WebCore::iconDataCallback):
2034         (WebCore::DocumentLoader::getIconDataForIconURL):
2035         * loader/DocumentLoader.h:
2036
2037         Break "startIconLoader" into two pieces so it can be used from both the synchronous and asynchronous 
2038         icon database modes:
2039         * loader/FrameLoader.cpp:
2040         (WebCore::FrameLoader::iconLoadDecisionReceived):
2041         (WebCore::FrameLoader::startIconLoader):
2042         (WebCore::FrameLoader::continueIconLoadWithDecision):
2043         * loader/FrameLoader.h:
2044
2045         * WebCore.exp.in:
2046
2047 2011-03-18  Pavel Feldman  <pfeldman@chromium.org>
2048
2049         Not reviewed: add missing brace to the generated Inspector.idl.
2050
2051         * inspector/generate-inspector-idl:
2052
2053 2011-03-18  Pavel Feldman  <pfeldman@chromium.org>
2054
2055         Reviewed by Yury Semikhatsky.
2056
2057         Web Inspector: migrate from Inspector.idl to InspectorAPI.json for protocol schema definition meta bug.
2058         https://bugs.webkit.org/show_bug.cgi?id=56294
2059
2060         * CMakeLists.txt:
2061         * CodeGenerators.pri:
2062         * DerivedSources.make:
2063         * GNUmakefile.am:
2064         * WebCore.gyp/WebCore.gyp:
2065         * inspector/Inspector.idl: Removed.
2066         * inspector/Inspector.json: Added.
2067         * inspector/generate-inspector-idl: Added.
2068
2069 2011-03-18  Pavel Podivilov  <podivilov@chromium.org>
2070
2071         Reviewed by Yury Semikhatsky.
2072
2073         Web Inspector: implement inspector session storage.
2074         https://bugs.webkit.org/show_bug.cgi?id=56643
2075
2076         We would like to enable debugger/profiler from frontend side only.
2077         However, when user clicks "Start Debugging JavaScript" in Safari, we
2078         need to enable debugger when frontend is opened or re-opened for the
2079         same page. The idea is to store debugger-enabled setting in session
2080         storage and check it on frontend load.
2081
2082         * inspector/InspectorFrontendClient.h:
2083         (WebCore::InspectorFrontendClient::saveSessionSetting):
2084         (WebCore::InspectorFrontendClient::loadSessionSetting):
2085         * inspector/InspectorFrontendHost.cpp:
2086         (WebCore::InspectorFrontendHost::saveSessionSetting):
2087         (WebCore::InspectorFrontendHost::loadSessionSetting):
2088         * inspector/InspectorFrontendHost.h:
2089         * inspector/InspectorFrontendHost.idl:
2090
2091 2011-03-18  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
2092
2093         Reviewed by Kenneth Rohde Christiansen.
2094
2095         [Qt] Enable GraphicsContext3D only when the window surface support OpenGL
2096         https://bugs.webkit.org/show_bug.cgi?id=56555
2097
2098         Allow creation of WebGLRenderingContext in the HTMLCanvasElement
2099         only if accelerated compositing is enabled. In GraphicsContext3D,
2100         while blitting the surface check that viewport hasn't changed from
2101         creation and painter is associated to the viewport.
2102
2103         * html/HTMLCanvasElement.cpp:
2104         (WebCore::HTMLCanvasElement::getContext):
2105         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2106         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
2107         (WebCore::GraphicsContext3DInternal::getViewportGLWidget):
2108         (WebCore::GraphicsContext3DInternal::paint):
2109
2110 2011-03-17  Pavel Podivilov  <podivilov@chromium.org>
2111
2112         Reviewed by Pavel Feldman.
2113
2114         Web Inspector: extract content loading logic from scripts panel.
2115         https://bugs.webkit.org/show_bug.cgi?id=55237
2116
2117         Encapsulate source files creation logic in debugger presentation model
2118         to support source mappings in a pluggable way.
2119
2120         * inspector/front-end/DebuggerPresentationModel.js:
2121         (WebInspector.DebuggerPresentationModel.prototype.sourceFile):
2122         (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource):
2123         (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
2124         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
2125         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
2126         (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished):
2127         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2128         (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded):
2129         (WebInspector.DebuggerPresentationModel.prototype._resourceForURL):
2130         (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
2131         (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded):
2132         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
2133         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
2134         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2135         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
2136         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
2137         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2138         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
2139         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
2140         (WebInspector.DebuggerPresentationModel.prototype.reset):
2141         * inspector/front-end/ScriptsPanel.js:
2142         (WebInspector.ScriptsPanel):
2143         (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
2144         (WebInspector.ScriptsPanel.prototype._showSourceFrame):
2145         (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
2146         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2147         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
2148
2149 2011-03-18  Yury Semikhatsky  <yurys@chromium.org>
2150
2151         Reviewed by Pavel Feldman.
2152
2153         Web Inspector: console doesn&apos;t scroll when multiline expression is being evaluated
2154         https://bugs.webkit.org/show_bug.cgi?id=56639
2155
2156         Always scoll in the console when command result is received.
2157
2158         * inspector/front-end/ConsoleView.js:
2159         (WebInspector.ConsoleView.prototype.addMessage):
2160
2161 2011-03-18  Adam Roben  <aroben@apple.com>
2162
2163         Fix a CFNumber leak seen on the leaks bot
2164
2165         Reviewed by Gavin Barraclough.
2166
2167         * platform/network/mac/FormDataStreamMac.mm:
2168         (WebCore::advanceCurrentStream): Use a RetainPtr to cause the CFNumber we allocate to be
2169         released.
2170
2171 2011-03-17  Adam Barth  <abarth@webkit.org>
2172
2173         Reviewed by Eric Seidel.
2174
2175         Add some of the remaining platform/mac files to WebCore GYP build
2176         https://bugs.webkit.org/show_bug.cgi?id=56616
2177
2178         These files used to be hard, but are now magically easy.  76 link errors.
2179
2180         * gyp/WebCore.gyp:
2181
2182 2011-03-17  Adam Klein  <adamk@chromium.org>
2183
2184         Reviewed by Adam Barth.
2185
2186         [filesystem] Rename toURI->toURL, resolveLocalFileSystemURI->resolveLocalFileSystemURL
2187         https://bugs.webkit.org/show_bug.cgi?id=56502
2188
2189         * fileapi/Entry.idl:
2190         * fileapi/EntryBase.cpp:
2191         (WebCore::EntryBase::toURL):
2192         * fileapi/EntryBase.h:
2193         * fileapi/EntrySync.idl:
2194         * page/DOMWindow.cpp:
2195         (WebCore::DOMWindow::resolveLocalFileSystemURL):
2196         * page/DOMWindow.h:
2197         * page/DOMWindow.idl:
2198
2199 2011-03-17  Adam Barth  <abarth@webkit.org>
2200
2201         Reviewed by Eric Seidel.
2202
2203         Update CSP directive parser to match spec
2204         https://bugs.webkit.org/show_bug.cgi?id=56582
2205
2206         Brandon updated the CSP spec.  I've updated our implementation to
2207         match.  In the process, I found a couple bugs in the spec, which I've
2208         sent to the working group.  This patch assumes that the bugs will be
2209         fixed in the way I suggested.  If they get fixed a different way, we
2210         might need to update the parser again.
2211
2212         Test: http/tests/security/contentSecurityPolicy/directive-parsing.html
2213
2214         * page/ContentSecurityPolicy.cpp:
2215         (WebCore::isDirectiveNameCharacter):
2216         (WebCore::isDirectiveValueCharacter):
2217         (WebCore::advanceUntil):
2218         (WebCore::ContentSecurityPolicy::parse):
2219         (WebCore::ContentSecurityPolicy::parseDirective):
2220         * page/ContentSecurityPolicy.h:
2221
2222 2011-03-17  Adam Barth  <abarth@webkit.org>
2223
2224         Reviewed by Eric Seidel.
2225
2226         WebCore GYP build should have PrivateHeaders
2227         https://bugs.webkit.org/show_bug.cgi?id=56604
2228
2229         I've manually verified that this produces the correct set of
2230         PrivateHeaders (modulo the ForwardingHeaders and icu issue).
2231         Unforunately, this patch breakes compile slightly, but I'll fix that
2232         in a followup patch.
2233
2234         * WebCore.gyp/WebCore.gyp:
2235         * WebCore.gypi:
2236         * gyp/WebCore.gyp:
2237
2238 2011-03-17  Victoria Kirst  <vrk@google.com>
2239
2240         Reviewed by Kenneth Russell.
2241
2242         [chromium] Video colors have wrong brightness/contrast
2243         https://bugs.webkit.org/show_bug.cgi?id=56598
2244
2245         This patch changes the YUV to RGB color conversion matrix
2246         to have brighter whites and darker blacks in accordance to
2247         the BT.601 standard.
2248
2249         * platform/graphics/chromium/ShaderChromium.cpp:
2250         (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
2251         (WebCore::FragmentShaderYUVVideo::init):
2252         (WebCore::FragmentShaderYUVVideo::getShaderString):
2253         * platform/graphics/chromium/ShaderChromium.h:
2254         (WebCore::FragmentShaderYUVVideo::yuvAdjLocation):
2255         * platform/graphics/chromium/VideoLayerChromium.cpp:
2256         (WebCore::VideoLayerChromium::drawYUV):
2257         * platform/graphics/chromium/VideoLayerChromium.h:
2258
2259 2011-03-17  Zhenyao Mo  <zmo@google.com>
2260
2261         Reviewed by Adam Barth.
2262
2263         RequestAnimationFrame callbacks prevent Document from being released on detach
2264         https://bugs.webkit.org/show_bug.cgi?id=56607
2265
2266         * dom/Document.cpp:
2267         (WebCore::Document::removedLastRef): Remove RequestAnimationFrame callbacks.
2268         (WebCore::Document::detach): Ditto.
2269
2270 2011-03-17  Beth Dakin  <bdakin@apple.com>
2271
2272         Reviewed by Darin Adler.
2273
2274         Fix for https://bugs.webkit.org/show_bug.cgi?id=56596 Overlay scrollbars sometimes 
2275         fail to appear
2276         -and corresponding-
2277         <rdar://problem/8953779>
2278
2279         * platform/mac/ScrollAnimatorMac.mm:
2280         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2281
2282 2011-03-17  Dan Bernstein  <mitz@apple.com>
2283
2284         Reviewed by Beth Dakin.
2285
2286         <rdar://problem/9052166> Emphasis marks appear over combined text rather than beside it
2287         https://bugs.webkit.org/show_bug.cgi?id=56480
2288
2289         Test: fast/text/emphasis-combined-text.html
2290
2291         * rendering/InlineTextBox.cpp:
2292         (WebCore::rotation): Added this helper.
2293         (WebCore::InlineTextBox::paint): Paint a single emphasis mark beside the combined text,
2294         centered vertically.
2295
2296 2011-03-17  Jian Li  <jianli@chromium.org>
2297
2298         Reviewed by Adam Barth.
2299
2300         Blob URL should not be allow to get created from the code running from data URI
2301         https://bugs.webkit.org/show_bug.cgi?id=56600
2302
2303         Test: http/tests/fileapi/create-blob-url-from-data-url.html
2304
2305         * dom/ScriptExecutionContext.cpp:
2306         (WebCore::ScriptExecutionContext::createPublicBlobURL):
2307         * fileapi/BlobURL.cpp:
2308         (WebCore::BlobURL::createBlobURL):
2309         * fileapi/EntryBase.cpp:
2310         (WebCore::EntryBase::toURI):
2311         * fileapi/FileReaderLoader.cpp:
2312         (WebCore::FileReaderLoader::start):
2313
2314 2011-03-17  Jeff Miller  <jeffm@apple.com>
2315
2316         Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
2317         
2318         *.mode*
2319         *.pbxuser
2320         *.perspective*
2321         project.xcworkspace
2322         xcuserdata
2323
2324         * WebCore.xcodeproj: Modified property svn:ignore.
2325         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
2326
2327 2011-03-17  Sam Weinig  <sam@webkit.org>
2328
2329         Fix Mac build.
2330
2331         * WebCore.exp.in:
2332         Add missing symbol.
2333
2334 2011-03-17  Ryosuke Niwa  <rniwa@webkit.org>
2335
2336         Reviewed by Adele Peterson and Enrica Casucci.
2337
2338         Assert that editing does not ignore position's anchorNode if position is an offset in anchor
2339         https://bugs.webkit.org/show_bug.cgi?id=56027
2340
2341         Debug build fix.
2342
2343         * dom/Element.cpp:
2344         (WebCore::Element::updateFocusAppearance): "this" can be an input element so can't always instantiate
2345         a position inside the node. Call firstPositionInOrBeforeNode instead.
2346         * editing/ReplaceSelectionCommand.cpp:
2347         (WebCore::positionAvoidingPrecedingNodes): Exit early when a node's content is ignored by editing instead
2348         of just when the node is br.
2349         * editing/htmlediting.cpp:
2350         (WebCore::lastEditablePositionBeforePositionInRoot): The shadow ancestor node is usually an input element
2351         so don't instantiate a position inside it. Call firstPositionInOrBeforeNode instead.
2352
2353 2011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2354
2355         Unreviewed, rolling out r81369.
2356         http://trac.webkit.org/changeset/81369
2357         https://bugs.webkit.org/show_bug.cgi?id=56579
2358
2359         breaks debugger test (Requested by podivilov on #webkit).
2360
2361         * inspector/front-end/DebuggerPresentationModel.js:
2362         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
2363         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
2364         (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
2365         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
2366         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
2367         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2368         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
2369         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
2370         (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
2371         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2372         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
2373         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
2374         (WebInspector.DebuggerPresentationModel.prototype.reset):
2375         * inspector/front-end/ScriptsPanel.js:
2376         (WebInspector.ScriptsPanel):
2377         (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
2378         (WebInspector.ScriptsPanel.prototype._failedToParseScriptSource):
2379         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
2380         (WebInspector.ScriptsPanel.prototype._addScript):
2381         (WebInspector.ScriptsPanel.prototype._resourceForURL):
2382         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
2383         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
2384         (WebInspector.ScriptsPanel.prototype._showSourceFrame):
2385         (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
2386         (WebInspector.ScriptsPanel.prototype._sourceFileIdForScript):
2387         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2388         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
2389
2390 2011-03-17  Ryosuke Niwa  <rniwa@webkit.org>
2391
2392         Reviewed by Justin Garcia.
2393
2394         Assert that editing does not ignore position's anchorNode if position is an offset in anchor
2395         https://bugs.webkit.org/show_bug.cgi?id=56027
2396
2397         Added the assertion in Position::Position and Position::moveToPosition. This assertion catches
2398         places where we instantiate positions inside a node on which editingIgnoresContent returns true.
2399
2400         Test: editing/execCommand/button.html
2401
2402         * dom/Position.cpp:
2403         (WebCore::Position::Position): Added an assertion.
2404         (WebCore::Position::moveToPosition): Ditto.
2405         * dom/PositionIterator.cpp:
2406         (WebCore::PositionIterator::operator Position): Avoid creating a position immediately below
2407         a node whose content is ignored by editing. While this does not avoid creation of positions
2408         inside ignored contents completely, it works in most cases. Filed the bug 56027 to resolve
2409         the underlying problem. Without this change, the assertion hits in existing layout tests.
2410         cannot be tested directly.
2411         * editing/ApplyStyleCommand.cpp:
2412         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Call firstPositionInOrBeforeNode
2413         instead of firstPositionInNode because startNode may as well be a br element. Without this change,
2414         the assertion hits in existing layout tests.
2415         * editing/htmlediting.cpp:
2416         (WebCore::canHaveChildrenForEditing): button is editable so content is not ignored. Added a test
2417         for this.
2418         * editing/visible_units.cpp:
2419         (WebCore::previousBoundary): Added a FIXME.
2420         (WebCore::startPositionForLine): Because br can also have an inline text box, checking that
2421         startBox is an inline text box isn't an adequate to instantiate a position inside startNode.
2422         Call startNode->isTextNode() instead. Without this change, the assertion hits in existing layout
2423         tests.
2424
2425 2011-03-17  Pavel Podivilov  <podivilov@chromium.org>
2426
2427         Reviewed by Pavel Feldman.
2428
2429         Web Inspector: extract content loading logic from scripts panel.
2430         https://bugs.webkit.org/show_bug.cgi?id=55237
2431
2432         Encapsulate source files creation logic in debugger presentation model
2433         to support source mappings in a pluggable way.
2434
2435         * inspector/front-end/DebuggerPresentationModel.js:
2436         (WebInspector.DebuggerPresentationModel.prototype.sourceFile):
2437         (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource):
2438         (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
2439         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
2440         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
2441         (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished):
2442         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2443         (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded):
2444         (WebInspector.DebuggerPresentationModel.prototype._resourceForURL):
2445         (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
2446         (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded):
2447         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
2448         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
2449         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2450         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
2451         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
2452         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2453         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
2454         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
2455         (WebInspector.DebuggerPresentationModel.prototype.reset):
2456         * inspector/front-end/ScriptsPanel.js:
2457         (WebInspector.ScriptsPanel):
2458         (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
2459         (WebInspector.ScriptsPanel.prototype._showSourceFrame):
2460         (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
2461         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2462         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
2463
2464 2011-03-17  Pavel Feldman  <pfeldman@chromium.org>
2465
2466         Reviewed by Yury Semikhatsky.
2467
2468         Web Inspector: add types markup to the IDL, remove Value types from the protocol.
2469         https://bugs.webkit.org/show_bug.cgi?id=56562
2470
2471         * inspector/ConsoleMessage.cpp:
2472         (WebCore::ConsoleMessage::addToFrontend):
2473         * inspector/InjectedScript.cpp:
2474         (WebCore::InjectedScript::evaluate):
2475         (WebCore::InjectedScript::evaluateOn):
2476         (WebCore::InjectedScript::evaluateOnCallFrame):
2477         (WebCore::InjectedScript::getProperties):
2478         (WebCore::InjectedScript::setPropertyValue):
2479         (WebCore::InjectedScript::callFrames):
2480         (WebCore::InjectedScript::makeCall):
2481         (WebCore::InjectedScript::makeObjectCall):
2482         * inspector/InjectedScript.h:
2483         * inspector/InjectedScriptSource.js:
2484         (.):
2485         * inspector/Inspector.idl:
2486         * inspector/InspectorApplicationCacheAgent.cpp:
2487         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
2488         * inspector/InspectorApplicationCacheAgent.h:
2489         * inspector/InspectorCSSAgent.cpp:
2490         (WebCore::InspectorCSSAgent::getStylesForNode):
2491         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
2492         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
2493         (WebCore::InspectorCSSAgent::getStyleSheet):
2494         (WebCore::InspectorCSSAgent::setPropertyText):
2495         (WebCore::InspectorCSSAgent::toggleProperty):
2496         (WebCore::InspectorCSSAgent::setRuleSelector):
2497         (WebCore::InspectorCSSAgent::addRule):
2498         * inspector/InspectorCSSAgent.h:
2499         * inspector/InspectorDOMAgent.cpp:
2500         (WebCore::InspectorDOMAgent::resolveNode):
2501         * inspector/InspectorDOMAgent.h:
2502         * inspector/InspectorDebuggerAgent.cpp:
2503         (WebCore::InspectorDebuggerAgent::editScriptSource):
2504         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2505         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2506         * inspector/InspectorDebuggerAgent.h:
2507         * inspector/InspectorResourceAgent.cpp:
2508         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
2509         * inspector/InspectorRuntimeAgent.cpp:
2510         (WebCore::InspectorRuntimeAgent::evaluate):
2511         (WebCore::InspectorRuntimeAgent::evaluateOn):
2512         (WebCore::InspectorRuntimeAgent::getProperties):
2513         (WebCore::InspectorRuntimeAgent::setPropertyValue):
2514         * inspector/InspectorRuntimeAgent.h:
2515         * inspector/ScriptCallStack.cpp:
2516         (WebCore::ScriptCallStack::buildInspectorArray):
2517         * inspector/ScriptCallStack.h:
2518         * inspector/TimelineRecordFactory.cpp:
2519         (WebCore::TimelineRecordFactory::createGenericRecord):
2520         * inspector/front-end/NetworkManager.js:
2521         (WebInspector.NetworkDispatcher.prototype._createResource):
2522
2523 2011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2524
2525         Unreviewed, rolling out r81350.
2526         http://trac.webkit.org/changeset/81350
2527         https://bugs.webkit.org/show_bug.cgi?id=56560
2528
2529         "Breaks twenty Chromium Webkit Win builder webkit_gpu_tests"
2530         (Requested by apavlov on #webkit).
2531
2532         * WebCore.gypi:
2533         * platform/graphics/chromium/GLES2Canvas.cpp:
2534         (WebCore::GLES2Canvas::State::State):
2535         (WebCore::GLES2Canvas::clearRect):
2536         (WebCore::GLES2Canvas::fillPath):
2537         (WebCore::GLES2Canvas::fillRect):
2538         (WebCore::GLES2Canvas::clipPath):
2539         (WebCore::GLES2Canvas::restore):
2540         (WebCore::GLES2Canvas::drawTexturedRect):
2541         (WebCore::GLES2Canvas::drawTexturedRectTile):
2542         (WebCore::GLES2Canvas::drawQuad):
2543         * platform/graphics/chromium/GLES2Canvas.h:
2544         * platform/graphics/gpu/BicubicShader.cpp: Removed.
2545         * platform/graphics/gpu/BicubicShader.h: Removed.
2546         * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
2547         * platform/graphics/gpu/ConvolutionShader.h: Removed.
2548         * platform/graphics/gpu/DrawingBuffer.h:
2549         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2550         (WebCore::SharedGraphicsContext3D::create):
2551         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
2552         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2553         * platform/graphics/skia/GraphicsContextSkia.cpp:
2554         (WebCore::GraphicsContext::setPlatformShadow):
2555         * platform/graphics/skia/PlatformContextSkia.cpp:
2556         (WebCore::PlatformContextSkia::canAccelerate):
2557
2558 2011-03-17  Mikhail Naganov  <mnaganov@chromium.org>
2559
2560         Reviewed by Yury Semikhatsky.
2561
2562         Web Inspector: Clean up Inspector strings.
2563         https://bugs.webkit.org/show_bug.cgi?id=56557
2564
2565         * English.lproj/localizedStrings.js:
2566
2567 2011-03-14  Pavel Podivilov  <podivilov@chromium.org>
2568
2569         Reviewed by Yury Semikhatsky.
2570
2571         Web Inspector: refactor event listener breakpoints.
2572         https://bugs.webkit.org/show_bug.cgi?id=56305
2573
2574         - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints
2575         - store event listener breakpoints in a separate separate setting
2576         - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane
2577
2578         Test: inspector/debugger/event-listener-breakpoints.html
2579
2580         * inspector/Inspector.idl:
2581         * inspector/InspectorAgent.cpp:
2582         (WebCore::InspectorAgent::setFrontend):
2583         * inspector/InspectorBrowserDebuggerAgent.cpp:
2584         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
2585         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
2586         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
2587         (WebCore::InspectorBrowserDebuggerAgent::clear):
2588         * inspector/InspectorBrowserDebuggerAgent.h:
2589         * inspector/InspectorInstrumentation.cpp:
2590         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2591         * inspector/front-end/BreakpointManager.js:
2592         (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint):
2593         (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint):
2594         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
2595         (WebInspector.BreakpointManager.prototype._projectChanged):
2596         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
2597         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
2598         (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
2599         * inspector/front-end/BreakpointsSidebarPane.js:
2600         (WebInspector.EventListenerBreakpointsSidebarPane):
2601         (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
2602         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
2603         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
2604         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
2605         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
2606         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
2607         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
2608         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
2609         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
2610         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
2611         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints):
2612         * inspector/front-end/CallStackSidebarPane.js:
2613         (WebInspector.CallStackSidebarPane.prototype.update):
2614         (WebInspector.CallStackSidebarPane.prototype.setStatus):
2615         (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit):
2616         * inspector/front-end/ScriptsPanel.js:
2617         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
2618         (WebInspector.ScriptsPanel.prototype._clearInterface):
2619         * inspector/front-end/Settings.js:
2620         (WebInspector.Settings):
2621
2622 2011-03-16  Stephen White  <senorblanco@chromium.org>
2623
2624         Reviewed by Kenneth Russell.
2625
2626         Implement GPU-accelerated shadows.
2627         https://bugs.webkit.org/show_bug.cgi?id=56476
2628
2629         For hard shadows, we simply offset the CTM and draw in the shadow
2630         color.  For soft shadows, we use a separable Gaussian convolution,
2631         with a bilinear downsample and Mitchell-Netravali upsample in order to
2632         preserve quality.
2633
2634         * WebCore.gypi:
2635         Add BicubicShader and ConvolutionShader to the build.
2636         * platform/graphics/chromium/GLES2Canvas.cpp:
2637         (WebCore::GLES2Canvas::State::State):
2638         Add shadow-related members to the GLES2Canvas::State
2639         (WebCore::GLES2Canvas::State::shadowActive):
2640         Add a helper function to know if shadows are active.
2641         (WebCore::GLES2Canvas::clearRect):
2642         (WebCore::GLES2Canvas::scissorClear):
2643         Refactor the scissor clearing function out of clearRect().
2644         (WebCore::GLES2Canvas::fillPath):
2645         Add hook for shadow rendering in paths.  Bind framebuffer at this level.
2646         (WebCore::GLES2Canvas::fillRect):
2647         Add hook for shadow rendering in rects.  Bind framebuffer at this level.
2648         (WebCore::GLES2Canvas::fillRectInternal):
2649         Rename fillRect() -> fillRectInternal(), which does bind its vertex 
2650         buffer, but does not bind the framebuffer.
2651         (WebCore::GLES2Canvas::setShadowColor):
2652         (WebCore::GLES2Canvas::setShadowOffset):
2653         (WebCore::GLES2Canvas::setShadowBlur):
2654         (WebCore::GLES2Canvas::setShadowsIgnoreTransforms):
2655         Implement graphicsContext-style setters for shadow parameters.
2656         (WebCore::GLES2Canvas::clipPath):
2657         Call fillPathInternal(), not fillPath().
2658         (WebCore::GLES2Canvas::restore):
2659         (WebCore::GLES2Canvas::drawTexturedRect):
2660         Bind the framebuffer at this level.  Do not bind vertices here (will
2661         be done in drawTexturedQuad).
2662         (WebCore::GLES2Canvas::drawTexturedRectTile):
2663         drawQuad() -> drawTexturedQuad().
2664         (WebCore::GLES2Canvas::convolveRect):
2665         Implement one pass of a convolution filter (X or Y).
2666         (WebCore::gauss):
2667         (WebCore::buildKernel):
2668         Some helper functions to build a Gaussian convolution kernel.
2669         (WebCore::GLES2Canvas::drawTexturedQuad):
2670         Rename drawQuad() -> drawTexturedQuad(), to be more clear.  Do not
2671         bind the framebuffer at this level (it will be done higher).
2672         (WebCore::GLES2Canvas::drawTexturedQuadMitchell):
2673         Implement Mitchell-Netravali bicubic sampling, using BicubicShader.
2674         (WebCore::GLES2Canvas::fillPathInternal):
2675         Rename fillPath() -> fillPathInternal(), which does use quad vertices,
2676         but does not bind the framebuffer or set the compositing mode.
2677         (WebCore::GLES2Canvas::flipRect):
2678         Implement a helper function to flip a rectangle in Y within the canvas.
2679         (WebCore::GLES2Canvas::clearBorders):
2680         Implement a helper function to clear an n-pixel border around a rect.
2681         (WebCore::GLES2Canvas::beginShadowDraw):
2682         Setup before drawing a primitive's shadow:  for hard shadows, just
2683         offset the CTM by the shadow offset.  For soft shadows, bind to an
2684         offscreen DrawingBuffer.
2685         (WebCore::GLES2Canvas::endShadowDraw):
2686         Tear-down after drawing a primitive's shadow:  for hard shadows, just
2687         restore the CTM.  For soft shadows, downsample (if necessary), then
2688         blur in X, blur in Y, upsample if necessary).
2689         * platform/graphics/chromium/GLES2Canvas.h:
2690         * platform/graphics/gpu/BicubicShader.cpp: Added.
2691         (WebCore::BicubicShader::BicubicShader):
2692         (WebCore::BicubicShader::create):
2693         (WebCore::BicubicShader::use):
2694         * platform/graphics/gpu/BicubicShader.h: Added.
2695         Implement a bicubic image filtering shader.
2696         * platform/graphics/gpu/ConvolutionShader.cpp: Added.
2697         (WebCore::ConvolutionShader::ConvolutionShader):
2698         (WebCore::ConvolutionShader::create):
2699         (WebCore::ConvolutionShader::use):
2700         * platform/graphics/gpu/ConvolutionShader.h: Added.
2701         Implement a 1-dimensional convolution shader.  In order to minimize
2702         texture samples, this shader is parameterized at compile time by the
2703         width of the convolution kernel.
2704         * platform/graphics/gpu/DrawingBuffer.h:
2705         (WebCore::DrawingBuffer::colorBuffer):
2706         Add an accessor to retrieve a DrawingBuffer's texture ID.
2707         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2708         (WebCore::SharedGraphicsContext3D::create):
2709         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
2710         (WebCore::SharedGraphicsContext3D::useBicubicProgram):
2711         (WebCore::SharedGraphicsContext3D::useConvolutionProgram):
2712         Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for
2713         each possible kernel width).
2714         (WebCore::SharedGraphicsContext3D::getOffscreenBuffer):
2715         Implement a simple cache of offscreen DrawingBuffers, integer-indexed.
2716         This is done to minimize the VRAM usage:  only 2 buffers are used for
2717         all canvases.
2718         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2719         Add bicubic and convolution shader members, and useXXX() functions.
2720         * platform/graphics/skia/GraphicsContextSkia.cpp:
2721         (WebCore::GraphicsContext::setPlatformShadow):
2722         Hook into GraphicsContextSkia's platform shadow setters to set
2723         parameters on GLES2Canvas.
2724         * platform/graphics/skia/PlatformContextSkia.cpp:
2725         (WebCore::PlatformContextSkia::canAccelerate):
2726         Remove shadows (loopers) from the list of things we can't accelerate.
2727
2728 2011-03-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2729
2730         Reviewed by Andreas Kling.
2731
2732         Tiled backing store should only request repaint for updated areas
2733         https://bugs.webkit.org/show_bug.cgi?id=56464
2734
2735         Reuse updateBackBuffer's dirty rectangle calculations to only
2736         invalidate the necessary parts of the window.
2737
2738         * platform/graphics/Tile.h:
2739         * platform/graphics/TiledBackingStore.cpp:
2740         (WebCore::TiledBackingStore::updateTileBuffers):
2741         * platform/graphics/qt/TileQt.cpp:
2742         (WebCore::Tile::updateBackBuffer):
2743
2744 2011-03-17  Mikhail Naganov  <mnaganov@chromium.org>
2745
2746         Reviewed by Pavel Feldman.
2747
2748         Web Inspector: [Chromium] Reduce memory consumption by detailed heap snapshots indexes.
2749         https://bugs.webkit.org/show_bug.cgi?id=56395
2750
2751         * inspector/front-end/DetailedHeapshotGridNodes.js:
2752         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
2753         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
2754         * inspector/front-end/HeapSnapshot.js:
2755         (WebInspector.HeapSnapshotRetainerEdge): Added
2756         (WebInspector.HeapSnapshotRetainerEdgeIterator): Added
2757         (WebInspector.HeapSnapshotNode.prototype.get retainers):
2758         (WebInspector.HeapSnapshot.prototype.dispose):
2759         (WebInspector.HeapSnapshot.prototype.hasId):
2760         (WebInspector.HeapSnapshot.prototype.retainers):
2761         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2762         (WebInspector.HeapSnapshot.prototype._buildIdsList):
2763         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
2764         (WebInspector.HeapSnapshot.prototype._findNodePositionInIndex):
2765         (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
2766         (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
2767         (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
2768         (WebInspector.HeapSnapshot.prototype._numbersComparator):
2769         (WebInspector.HeapSnapshotPathFinder.prototype.get _lastEdge):
2770         (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
2771         (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
2772         (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
2773
2774 2011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2775
2776         Unreviewed, rolling out r81243.
2777         http://trac.webkit.org/changeset/81243
2778         https://bugs.webkit.org/show_bug.cgi?id=56471
2779
2780         Breaks GTK 64-bit Debug tests (Requested by podivilov on
2781         #webkit).
2782
2783         * inspector/Inspector.idl:
2784         * inspector/InspectorAgent.cpp:
2785         (WebCore::InspectorAgent::setFrontend):
2786         * inspector/InspectorBrowserDebuggerAgent.cpp:
2787         (WebCore::InspectorBrowserDebuggerAgent::setFrontend):
2788         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
2789         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
2790         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
2791         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
2792         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
2793         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
2794         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
2795         (WebCore::InspectorBrowserDebuggerAgent::clear):
2796         * inspector/InspectorBrowserDebuggerAgent.h:
2797         * inspector/InspectorInstrumentation.cpp:
2798         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2799         * inspector/front-end/BreakpointManager.js:
2800         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
2801         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
2802         (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
2803         (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
2804         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
2805         (WebInspector.BreakpointManager.prototype._projectChanged):
2806         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
2807         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
2808         (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
2809         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
2810         (WebInspector.EventListenerBreakpoint):
2811         (WebInspector.EventListenerBreakpoint.prototype._enable):
2812         (WebInspector.EventListenerBreakpoint.prototype._disable):
2813         (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
2814         (WebInspector.EventListenerBreakpointView):
2815         (WebInspector.EventListenerBreakpointView.eventNameForUI):
2816         (WebInspector.EventListenerBreakpointView.prototype.get eventName):
2817         (WebInspector.EventListenerBreakpointView.prototype.compareTo):
2818         (WebInspector.EventListenerBreakpointView.prototype.populateLabelElement):
2819         (WebInspector.EventListenerBreakpointView.prototype.populateStatusMessageElement):
2820         (WebInspector.EventListenerBreakpointView.prototype._uiEventName):
2821         * inspector/front-end/BreakpointsSidebarPane.js:
2822         (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
2823         (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
2824         (WebInspector.EventListenerBreakpointsSidebarPane):
2825         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
2826         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
2827         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
2828         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
2829         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointHitStateChanged):
2830         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointRemoved):
2831         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
2832         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
2833         * inspector/front-end/CallStackSidebarPane.js:
2834         (WebInspector.CallStackSidebarPane.prototype.update):
2835         (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
2836         (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
2837         (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
2838         * inspector/front-end/ScriptsPanel.js:
2839         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
2840         (WebInspector.ScriptsPanel.prototype._clearInterface):
2841         * inspector/front-end/Settings.js:
2842         (WebInspector.Settings):
2843
2844 2011-03-17  Adam Barth  <abarth@webkit.org>
2845
2846         Reviewed by Eric Seidel.
2847
2848         Add more ObjC++ files to the build
2849         https://bugs.webkit.org/show_bug.cgi?id=56548
2850
2851         96 link errors.
2852
2853         * WebCore.gypi:
2854         * gyp/WebCore.gyp:
2855
2856 2011-03-17  Adam Barth  <abarth@webkit.org>
2857
2858         Reviewed by Eric Seidel.
2859
2860         Add a few Objective-C++ files to the WebCore GYP build
2861         https://bugs.webkit.org/show_bug.cgi?id=56547
2862
2863         464 link errors.
2864
2865         * gyp/WebCore.gyp:
2866
2867 2011-03-17  Yuta Kitamura  <yutak@chromium.org>
2868
2869         Unreviewed build fix.
2870
2871         Non-ASCII characters in XMLTreeViewer.{cpp,h}
2872         https://bugs.webkit.org/show_bug.cgi?id=56549
2873
2874         * xml/XMLTreeViewer.cpp: Replace non-ASCII characters with ASCII equivalents.
2875         * xml/XMLTreeViewer.h: Ditto.
2876
2877 2011-03-17  Adam Barth  <abarth@webkit.org>
2878
2879         Reviewed by Eric Seidel.
2880
2881         Add plugins and bridge to the WebCore GYP build
2882         https://bugs.webkit.org/show_bug.cgi?id=56546
2883
2884         506 link errors.
2885
2886         * gyp/WebCore.gyp:
2887
2888 2011-03-16  Jeff Johnson  <github@lapcatsoftware.com>
2889
2890         Reviewed by Alexey Proskuryakov.
2891
2892         Logic error in -[WebHTMLView close]
2893         https://bugs.webkit.org/show_bug.cgi?id=56445
2894
2895         The function setDraggingImageURL() is no longer called and can be deleted.
2896
2897         No new tests. Deleting dead code.
2898
2899         * page/DragController.h:
2900
2901 2011-03-16  Naoki Takano  <takano.naoki@gmail.com>
2902
2903         Reviewed by Ryosuke Niwa.
2904
2905         Textarea maxlength doesn't account for newlines
2906         https://bugs.webkit.org/show_bug.cgi?id=54443
2907
2908         When a user presses a return key, TypingCommand::insertLineBreak() is called.
2909         So before append a new line, check if we can add the new line.
2910
2911         * editing/TypingCommand.cpp:
2912         (WebCore::canAppendNewLineFeed): Implement new helper function to check if we can add new line.
2913         (WebCore::TypingCommand::insertLineBreak): Added check logic before adding the new line.
2914         (WebCore::TypingCommand::insertParagraphSeparator): Added check logic before adding the new line.
2915
2916 2011-03-16  Adam Barth  <abarth@webkit.org>
2917
2918         Reviewed by Eric Seidel.
2919
2920         WebCore GYP build should build more derived sources
2921         https://bugs.webkit.org/show_bug.cgi?id=56529
2922
2923         This patch brings us down to 597 link errors.
2924
2925         * gyp/WebCore.gyp:
2926
2927 2011-03-16  Adam Barth  <abarth@webkit.org>
2928
2929         Reviewed by Eric Seidel.
2930
2931         WebCore GYP should build (most) remaining source files
2932         https://bugs.webkit.org/show_bug.cgi?id=56515
2933
2934         We're still not building all the files and we have 1305 link errors,
2935         but this patch is progress.
2936
2937         * WebCore.gypi:
2938         * gyp/WebCore.gyp:
2939         * plugins/PluginStream.cpp:
2940
2941 2011-03-16  Dan Bernstein  <mitz@apple.com>
2942
2943         Reviewed by Alexey Proskuryakov.
2944
2945         Update the default navigator.vendor value
2946         https://bugs.webkit.org/show_bug.cgi?id=56449
2947
2948         * page/NavigatorBase.cpp: Updated the default value of
2949         WEBCORE_NAVIGATOR_VENDOR.
2950
2951 2011-03-16  John Bauman  <jbauman@chromium.org>
2952
2953         Reviewed by James Robinson.
2954
2955         texImage2D gets old contents of canvas
2956         https://bugs.webkit.org/show_bug.cgi?id=56414
2957
2958         Always update the canvas contents in copiedImage, as there's no reason
2959         to ask for an out-of-date image.
2960
2961         * html/HTMLCanvasElement.cpp:
2962         (WebCore::HTMLCanvasElement::copiedImage):
2963
2964 2011-03-16  Adam Barth  <abarth@webkit.org>
2965
2966         Reviewed by James Robinson.
2967
2968         Remove USE(BUILTIN_UTF8_CODEC)
2969         https://bugs.webkit.org/show_bug.cgi?id=56508
2970
2971         * platform/text/TextCodecICU.cpp:
2972         (WebCore::TextCodecICU::registerEncodingNames):
2973         * platform/text/TextEncodingRegistry.cpp:
2974         (WebCore::buildBaseTextCodecMaps):
2975
2976 2011-03-16  Joseph Pecoraro  <joepeck@webkit.org>
2977
2978         Reviewed by Kenneth Rohde Christiansen.
2979
2980         Viewport no longer allows an auto value for "user-scalable"
2981         https://bugs.webkit.org/show_bug.cgi?id=55416
2982
2983         This restores our behavior before r67376 the default "user-scalable"
2984         behavior can be defined by a WebKit client if a value was not
2985         explicitly provided in web content (via the viewport <meta> tag).
2986         Here, all WebKit ports default to "yes" after computing
2987         viewport arguments. However, in the future they may consider
2988         changing the default user-scalable value based on the type
2989         of the document being viewed, a user preference, or other reasons.
2990
2991         Covered by existing tests. Should be no changes.
2992
2993         * dom/ViewportArguments.cpp:
2994         (WebCore::computeViewportAttributes): be explicit about 0.
2995         (WebCore::findUserScalableValue): convert to return a float, the instance variable type.
2996         * dom/ViewportArguments.h:
2997         (WebCore::ViewportArguments::ViewportArguments): convert the boolean back to a float to
2998         allow for 3 states. Explicit no, explicit yes, and ValueAuto to be defined by the
2999         WebKit client.
3000
3001 2011-03-16  David Levin  <levin@chromium.org>
3002
3003         Reviewed by Dmitry Titov.
3004
3005         REGRESSION(r81289): Fix valgrind error (and crashes) when running the chromium unit test "test_shell_test".
3006
3007         Conditional jump or move depends on uninitialised value(s)
3008             WebCore::RenderLayerCompositor::RenderLayerCompositor(WebCore::RenderView*) (third_party/WebKit/Source/WebCore/rendering/RenderLayerCompositor.cpp:117)
3009
3010         * page/Settings.cpp:
3011         (WebCore::Settings::Settings):
3012
3013 2011-03-16  Beth Dakin  <bdakin@apple.com>
3014
3015         Reviewed by Darin Adler.
3016
3017         Fix for https://bugs.webkit.org/show_bug.cgi?id=56493 Drag-scrolling overlay 
3018         scrollbars thumb in overflow regions does not work
3019         -and corresponding-
3020         <rdar://problem/9112688> Drag-scrolling overlay scrollbars thumb in overflow 
3021         regions does not work
3022
3023         Up until now, overlay scrollbars have always been treated in the Render Tree as if 
3024         they have a thickness of 0 because they should not affect layout. However, it is 
3025         important to consider their size when hit-testing because otherwise, we have this 
3026         bug! This patch adds a boolean parameter to overflowClipRect(), 
3027         RenderLayer::verticalScrollbarWidth(), and 
3028         RenderLayer::horizontalScrollbarHeight(). This bool indicates whether to include 
3029         the actual overlay scrollbar thickness. It defaults to false and is only sent is 
3030         as true from RenderBloc::nodeAtPoint().
3031
3032         * rendering/RenderBlock.cpp:
3033         (WebCore::RenderBlock::nodeAtPoint):
3034         * rendering/RenderBox.cpp:
3035         (WebCore::RenderBox::overflowClipRect):
3036         * rendering/RenderBox.h:
3037         * rendering/RenderLayer.cpp:
3038         (WebCore::RenderLayer::verticalScrollbarWidth):
3039         (WebCore::RenderLayer::horizontalScrollbarHeight):
3040         * rendering/RenderLayer.h:
3041         * rendering/RenderTable.cpp:
3042         (WebCore::RenderTable::overflowClipRect):
3043         * rendering/RenderTable.h:
3044
3045 2011-03-16  Keith Kyzivat  <keith.kyzivat@nokia.com>
3046
3047         Reviewed by Andreas Kling.
3048
3049         [Qt] Fix std::swap not found issue on mobile Qt devices.
3050         https://bugs.webkit.org/show_bug.cgi?id=56463
3051
3052         Include <algorithm> in TextBreakIteratorQt.cpp so std::swap is found
3053         on some Qt mobile devices.
3054
3055         No new tests: No tests needed - compilation verified manually.
3056
3057         * platform/text/qt/TextBreakIteratorQt.cpp:
3058         (WebCore::acquireLineBreakIterator):
3059
3060 2011-03-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
3061
3062         Reviewed by Kenneth Rohde Christiansen.
3063
3064         [Qt] WebGL content not shown when accelerated compositing is enabled
3065         https://bugs.webkit.org/show_bug.cgi?id=56339
3066
3067         Removed all previously implemented WebGL code from GraphicsLayerQt
3068         because API has changed. GraphicsContext3D provides PlatformLayer
3069         that is added as a child of GraphicsLayer and is therefore painted
3070         through QGraphicsView pipeline.
3071
3072         * platform/graphics/GraphicsContext3D.h:
3073         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3074         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
3075         (WebCore::GraphicsContext3DInternal::paint):
3076         (WebCore::GraphicsContext3DInternal::boundingRect):
3077         (WebCore::GraphicsContext3D::platformLayer):
3078         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
3079         (WebCore::GraphicsContext3D::reshape):
3080         * platform/graphics/qt/GraphicsLayerQt.cpp:
3081         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
3082         (WebCore::GraphicsLayerQtImpl::paint):
3083         (WebCore::GraphicsLayerQtImpl::flushChanges):
3084         (WebCore::GraphicsLayerQt::setContentsToCanvas):
3085         * platform/graphics/qt/GraphicsLayerQt.h:
3086
3087 2011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
3088
3089         Reviewed by Tony Chang.
3090
3091         Get rid of nearestMailBlockquote
3092         https://bugs.webkit.org/show_bug.cgi?id=56439
3093
3094         Removed nearestMailBlockquote and replaced the calls to the function by calls
3095         to enclosingNodeOfType and highestEnclosingNodeOfType.
3096         
3097         Also fixed a bug in BreakBlockquoteCommand and DeleteSelectionCommand not to
3098         respect editing boundaries.  Added a test for the former command.
3099
3100         Test: editing/execCommand/break-non-editable-blockquote.html
3101
3102         * editing/BreakBlockquoteCommand.cpp:
3103         (WebCore::BreakBlockquoteCommand::doApply): No longer crosses editing boundary
3104         when looking for a Mail blockquote.
3105         * editing/DeleteSelectionCommand.cpp:
3106         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
3107         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
3108         * editing/ReplaceSelectionCommand.cpp:
3109         (WebCore::hasMatchingQuoteLevel):
3110         (WebCore::handleStyleSpansBeforeInsertion):
3111         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
3112         (WebCore::ReplaceSelectionCommand::doApply):
3113         * editing/htmlediting.cpp:
3114         (WebCore::enclosingNodeOfType): Check rule upfront to improve the performance.
3115         (WebCore::highestEnclosingNodeOfType): Ditto; also add the missing check.
3116         * editing/htmlediting.h:
3117         (WebCore::firstPositionInOrBeforeNode): Added a null pointer check.
3118         (WebCore::lastPositionInOrAfterNode): Ditto.
3119         * editing/markup.cpp:
3120         (WebCore::highestAncestorToWrapMarkup):
3121         (WebCore::createMarkup):
3122
3123 2011-03-16  Jer Noble  <jer.noble@apple.com>
3124
3125         Reviewed by Beth Dakin.
3126
3127         RenderFullScreen::createFullScreenStyle() leaks
3128         https://bugs.webkit.org/show_bug.cgi?id=53384
3129
3130         Two problems: a) not calling release() on the style returned in setFullScreenRenderer
3131         causes an unnecessary ref/deref, and b) the fullscreen renderer needs to be destroyed,
3132         not just detached, when it is no longer needed.
3133
3134         * dom/Document.cpp:
3135         (WebCore::Document::setFullScreenRenderer): Destroy the current renderer when a new one is set.
3136         * rendering/RenderFullScreen.cpp:
3137         (RenderFullScreen::createFullScreenStyle): release() the return value.
3138
3139 2011-03-16  Mike Reed  <reed@google.com>
3140
3141         Reviewed by James Robinson.
3142
3143         Reestablish typeface/size/encoding when drawing stroked text
3144         https://bugs.webkit.org/show_bug.cgi?id=56481
3145
3146         No new tests. LayoutTests/svg/css/composite-shadow-text.svg
3147
3148         * platform/graphics/skia/SkiaFontWin.cpp:
3149         (WebCore::paintSkiaText):
3150
3151 2011-03-16  Daniel Sievers  <sievers@google.com>
3152
3153         Reviewed by James Robinson.
3154
3155         Add setting to always force compositing mode
3156         https://bugs.webkit.org/show_bug.cgi?id=56156
3157
3158         No new tests needed as this defaults to disabled (and is unfeasible
3159         to be tested through property overriding at runtime).
3160
3161         * page/Settings.h:
3162         (WebCore::Settings::setForceCompositingMode):
3163         (WebCore::Settings::forceCompositingMode):
3164         * rendering/RenderLayerCompositor.cpp:
3165         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
3166         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3167         * rendering/RenderLayerCompositor.h:
3168
3169 2011-03-16  Vangelis Kokkevis  <vangelis@chromium.org>
3170
3171         Reviewed by Kenneth Russell.
3172
3173         [chromium] Fixing backface visibility for transformed layers.
3174         https://bugs.webkit.org/show_bug.cgi?id=56237
3175
3176         Test: platform/chromium/compositing/backface-visibility-transformed.html
3177
3178         * platform/graphics/chromium/LayerRendererChromium.cpp:
3179         (WebCore::LayerRendererChromium::drawLayer):
3180
3181 2011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
3182
3183         Reviewed by Darin Adler.
3184
3185         REGRESSION(r76147): Dragging slider thumb is impossible or results in drawing artifacts.
3186         https://bugs.webkit.org/show_bug.cgi?id=56469
3187
3188         Technically, this is not a regression, but rather uncovering of an old
3189         problem. When the RenderSlider::layout was written, the layout state was
3190         pushed with a wrong offset. However, since the whole slider track was
3191         always repainted, the problem didn't manifest itself until we actually
3192         started being more precise in our repaints.
3193
3194         Test: fast/repaint/slider-thumb-float.html
3195
3196         * rendering/RenderSlider.cpp:
3197         (WebCore::RenderSlider::layout): Changed to pass actual thumb offset
3198         to the LayoutStateMaintainer, rather than thumb size.
3199
3200 2011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
3201
3202         Reviewed by Eric Carlson.
3203
3204         Add play state callbacks to MediaControls, kill timeUpdate timer.
3205         https://bugs.webkit.org/show_bug.cgi?id=56473
3206
3207         No change in behavior, covered by existing tests.
3208
3209         * html/HTMLMediaElement.cpp:
3210         (WebCore::HTMLMediaElement::playbackProgressTimerFired): Added a call to
3211             media controls.
3212         (WebCore::HTMLMediaElement::updatePlayState): Ditto.
3213         * html/shadow/MediaControls.cpp:
3214         (WebCore::MediaControls::MediaControls): Removed initialization of the timer.
3215         (WebCore::MediaControls::playbackProgressed): Added.
3216         (WebCore::MediaControls::playbackStarted): Added, for now routing to just
3217             call playbackProgressed.
3218         (WebCore::MediaControls::playbackStopped): Ditto.
3219         (WebCore::MediaControls::update): Removed the code to start/stop the
3220             timer that's now gone.
3221         * html/shadow/MediaControls.h: Removed timer decls.
3222
3223 2011-03-16  Bill Budge  <bbudge@chromium.org>
3224
3225         Reviewed by David Levin.
3226
3227         DocumentThreadableLoaderClient needs a protected default Constructor
3228         https://bugs.webkit.org/show_bug.cgi?id=56479
3229
3230         No new tests. Exposes no new functionality.
3231
3232         * loader/DocumentThreadableLoaderClient.h:
3233         (WebCore::DocumentThreadableLoaderClient::DocumentThreadableLoaderClient):
3234
3235 2011-03-16  David Levin  <levin@chromium.org>
3236
3237         Chromium Leopard build fix attempt #2.
3238
3239         Same error as before.
3240         * bindings/v8/V8GCController.cpp:
3241
3242 2011-03-16  David Levin  <levin@chromium.org>
3243
3244         Chromium Leopard build fix attempt.
3245
3246         The error was 'WebCore::GrouperVisitor' has a field 'WebCore::GrouperVisitor::m_grouper' whose type uses the anonymous namespace.
3247
3248         * bindings/v8/V8GCController.cpp:
3249
3250 2011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
3251
3252         Reviewed by Dimitri Glazkov and Darin Adler.
3253
3254         Node::isContentEditable should always call parentNode() instead of parentOrHostNode()
3255         https://bugs.webkit.org/show_bug.cgi?id=56472
3256
3257         Replaced the call to parentOrHostNode() in Node::isContentEditable by a call to parentNode().
3258         Node::isContentEditable now calls parentNode() on all nodes.
3259
3260         No tests are added since this behavior change is not visible to scripts at the moment.
3261
3262         * dom/Node.cpp:
3263         (WebCore::Node::isContentEditable):
3264
3265 2011-03-16  Chris Fleizach  <cfleizach@apple.com>
3266
3267         Reviewed by Darin Adler.
3268
3269         WK2: Need to propagate enhanced accessibility flag from UI -> web process
3270         https://bugs.webkit.org/show_bug.cgi?id=56379
3271
3272         Allow the enhanced accessibility flag to be toggleable. 
3273
3274         * accessibility/AXObjectCache.h:
3275         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
3276
3277 2011-03-16  Csaba Osztrogonác  <ossy@webkit.org>
3278
3279         [Qt] Buildfix after r81230.
3280
3281         * WebCore.pri: Missing include path added.
3282
3283 2011-03-15  Oliver Hunt  <oliver@apple.com>
3284
3285         Reviewed by Geoffrey Garen.
3286
3287         Make Structure creation require a JSGlobalData
3288         https://bugs.webkit.org/show_bug.cgi?id=56438
3289
3290         Mechanical change to make all structure creation use GlobalData
3291
3292         * bindings/js/JSAudioConstructor.cpp:
3293         (WebCore::JSAudioConstructor::JSAudioConstructor):
3294         * bindings/js/JSAudioConstructor.h:
3295         (WebCore::JSAudioConstructor::createStructure):
3296         * bindings/js/JSDOMBinding.h:
3297         (WebCore::DOMObjectWithGlobalPointer::createStructure):
3298         (WebCore::DOMConstructorObject::createStructure):
3299         (WebCore::getDOMStructure):
3300         * bindings/js/JSDOMGlobalObject.h:
3301         (WebCore::JSDOMGlobalObject::createStructure):
3302         * bindings/js/JSDOMWindowBase.h:
3303         (WebCore::JSDOMWindowBase::createStructure):
3304         * bindings/js/JSDOMWindowShell.cpp:
3305         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
3306         (WebCore::JSDOMWindowShell::setWindow):
3307         * bindings/js/JSDOMWindowShell.h:
3308         (WebCore::JSDOMWindowShell::createStructure):
3309         * bindings/js/JSImageConstructor.cpp:
3310         (WebCore::JSImageConstructor::JSImageConstructor):
3311         * bindings/js/JSImageConstructor.h:
3312         (WebCore::JSImageConstructor::createStructure):
3313         * bindings/js/JSImageDataCustom.cpp:
3314         (WebCore::toJS):
3315         * bindings/js/JSOptionConstructor.cpp:
3316         (WebCore::JSOptionConstructor::JSOptionConstructor):
3317         * bindings/js/JSOptionConstructor.h:
3318         (WebCore::JSOptionConstructor::createStructure):
3319         * bindings/js/JSWorkerContextBase.h:
3320         (WebCore::JSWorkerContextBase::createStructure):
3321         * bindings/js/WorkerScriptController.cpp:
3322         (WebCore::WorkerScriptController::initScript):
3323         * bindings/scripts/CodeGeneratorJS.pm:
3324         * bridge/c/CRuntimeObject.h:
3325         (JSC::Bindings::CRuntimeObject::createStructure):
3326         * bridge/c/c_instance.cpp:
3327         (JSC::Bindings::CRuntimeMethod::createStructure):
3328         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3329         (JavaRuntimeMethod::createStructure):
3330         * bridge/jni/jsc/JavaRuntimeObject.h:
3331         (JSC::Bindings::JavaRuntimeObject::createStructure):
3332         * bridge/objc/ObjCRuntimeObject.h:
3333         (JSC::Bindings::ObjCRuntimeObject::createStructure):
3334         * bridge/objc/objc_instance.mm:
3335         (ObjCRuntimeMethod::createStructure):
3336         * bridge/objc/objc_runtime.h:
3337         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
3338         * bridge/runtime_array.h:
3339         (JSC::RuntimeArray::createStructure):
3340         * bridge/runtime_method.h:
3341         (JSC::RuntimeMethod::createStructure):
3342         * bridge/runtime_object.h:
3343         (JSC::Bindings::RuntimeObject::createStructure):
3344
3345 2011-03-16  Pratik Solanki  <psolanki@apple.com>
3346
3347         Reviewed by Alexey Proskuryakov.
3348
3349         REGRESSION: Crash in adjustMIMETypeIfNecessary since r81001
3350         https://bugs.webkit.org/show_bug.cgi?id=56345
3351
3352         Add NULL check for Content-Type header field.
3353
3354         Test: http/tests/xmlhttprequest/xmlhttprequest-no-content-type.html
3355
3356         * platform/network/mac/WebCoreURLResponse.mm:
3357         (WebCore::adjustMIMETypeIfNecessary):
3358
3359 2011-03-15  Levi Weintraub  <leviw@chromium.org>
3360
3361         Reviewed by Ryosuke Niwa.
3362
3363         REGRESSION (r81165): Assert running editing/style/iframe-onload-crash.html with non-Mac editing behavior
3364         https://bugs.webkit.org/show_bug.cgi?id=56407
3365
3366         Fixing the creation of incorrect ranges from TextIterator due to passing node/offset pairs that
3367         weren't parent-anchored. Also changing canHaveChildrenForEditing to properly handle nodes that
3368         have had children appended to them that editing wouldn't normally allow.
3369
3370         Tests: editing/style/iframe-onload-crash-mac.html
3371                editing/style/iframe-onload-crash-unix.html
3372                editing/style/iframe-onload-crash-win.html
3373
3374         * editing/TextIterator.cpp:
3375         (WebCore::TextIterator::rangeFromLocationAndLength): Passing parent-anchored values to range.
3376         * editing/htmlediting.cpp:
3377         (WebCore::canHaveChildrenForEditing): Adding a condition that the nodes don't already have children
3378         for hr and datagrid, as you can append any node to another using javascript.
3379
3380 2011-03-16  Mikhail Naganov  <mnaganov@chromium.org>
3381
3382         Reviewed by Pavel Feldman.
3383
3384         [Chromium] Report object groups and single DOM-related objects
3385         to the new heap profiler.
3386         https://bugs.webkit.org/show_bug.cgi?id=53659
3387
3388         * Android.v8bindings.mk:
3389         * WebCore.gypi:
3390         * WebCore.pro:
3391         * bindings/scripts/CodeGeneratorV8.pm:
3392         * bindings/v8/RetainedDOMInfo.cpp: Added.
3393         (WebCore::RetainedDOMInfo::RetainedDOMInfo):
3394         * bindings/v8/RetainedDOMInfo.h: Added.
3395         * bindings/v8/RetainedObjectInfo.h: Added.
3396         * bindings/v8/ScriptProfiler.cpp:
3397         (WebCore::retainedDOMInfo):
3398         (WebCore::ScriptProfiler::initialize):
3399         * bindings/v8/ScriptProfiler.h:
3400         * bindings/v8/V8DOMWindowShell.cpp:
3401         (WebCore::V8DOMWindowShell::initContextIfNeeded):
3402         * bindings/v8/V8GCController.cpp:
3403         (WebCore::GroupId::GrouperItem::GrouperItem):
3404         (WebCore::GroupId::GrouperItem::groupId):
3405         (WebCore::GroupId::GrouperItem::createRetainedObjectInfo):
3406         (WebCore::calculateGroupId):
3407         (WebCore::GrouperVisitor::visitDOMWrapper):
3408         (WebCore::GrouperVisitor::applyGrouping):
3409         * bindings/v8/WrapperTypeInfo.h:
3410         * inspector/front-end/DetailedHeapshotGridNodes.js:
3411         (WebInspector.HeapSnapshotConstructorNode):
3412         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
3413         (WebInspector.HeapSnapshotDiffNode):
3414         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
3415         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
3416         * inspector/front-end/DetailedHeapshotView.js:
3417         (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
3418         (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
3419         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching):
3420         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
3421         (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
3422         (WebInspector.DetailedHeapshotView.prototype._changeRetainingPathsRoot):
3423         (WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects):
3424         * inspector/front-end/HeapSnapshot.js:
3425         (WebInspector.HeapSnapshotNode.prototype.get className):
3426         (WebInspector.HeapSnapshot.prototype._buildAggregates):
3427         (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots):
3428         (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren):
3429         * inspector/front-end/heapProfiler.css:
3430         (.detailed-heapshot-view .retaining-paths-view .title > span):
3431         (.detailed-heapshot-view .retaining-paths-to-windows):
3432
3433 2011-03-16  Sam Weinig  <sam@webkit.org>
3434
3435         Reviewed by Adam Roben.
3436
3437         Add WebKit2 API to figure out if an input or textarea was edited
3438         https://bugs.webkit.org/show_bug.cgi?id=56474
3439
3440         Add HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit
3441         and use them to implement -[DOMHTMLInputElement _isEdited] and -[DOMHTMLTextAreaElement _isEdited]
3442         as well as API in WebKit2.
3443
3444         * WebCore.exp.in:
3445         * bindings/objc/DOMHTML.mm:
3446         (-[DOMHTMLInputElement _isEdited]):
3447         (-[DOMHTMLTextAreaElement _isEdited]):
3448         * html/HTMLInputElement.cpp:
3449         (WebCore::HTMLInputElement::lastChangeWasUserEdit):
3450         * html/HTMLInputElement.h:
3451         * html/HTMLTextAreaElement.cpp:
3452         (WebCore::HTMLTextAreaElement::lastChangeWasUserEdit):
3453         * html/HTMLTextAreaElement.h:
3454
3455 2011-03-15  Pavel Feldman  <pfeldman@chromium.org>
3456
3457         Reviewed by Yury Semikhatsky.
3458
3459         Web Inspector: ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
3460         https://bugs.webkit.org/show_bug.cgi?id=56376
3461
3462         * inspector/InspectorBrowserDebuggerAgent.cpp:
3463         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
3464         * inspector/front-end/DOMAgent.js:
3465         (WebInspector.DOMAgent.prototype._setDocument):
3466
3467 2011-03-16  Dan Bernstein  <mitz@apple.com>
3468
3469         Reviewed by Simon Fraser.
3470
3471         text-combine text retains compressed font after adding characters to it
3472         https://bugs.webkit.org/show_bug.cgi?id=56448
3473
3474         Test: fast/dynamic/text-combine.html
3475
3476         * css/CSSStyleSelector.cpp:
3477         (WebCore::CSSStyleSelector::applyProperty): Allow styles with text-combine to be shared, since
3478         only the clones on the RenderCombineText will be mutated.
3479         * rendering/RenderCombineText.cpp:
3480         (WebCore::RenderCombineText::styleDidChange): Clone the style, to avoid mutating the parent’s
3481         style.
3482         (WebCore::RenderCombineText::combineText): Start off with the original font; restore it if
3483         the text cannot be combined.
3484         * rendering/RenderCombineText.h:
3485         (WebCore::RenderCombineText::originalFont): Added. Returns the parent’s font.
3486
3487 2011-03-14  Pavel Podivilov  <podivilov@chromium.org>
3488
3489         Reviewed by Yury Semikhatsky.
3490
3491         Web Inspector: refactor event listener breakpoints.
3492         https://bugs.webkit.org/show_bug.cgi?id=56305
3493
3494         - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints
3495         - store event listener breakpoints in a separate separate setting
3496         - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane
3497
3498         Test: inspector/debugger/event-listener-breakpoints.html
3499
3500         * inspector/Inspector.idl:
3501         * inspector/InspectorAgent.cpp:
3502         (WebCore::InspectorAgent::setFrontend):
3503         * inspector/InspectorBrowserDebuggerAgent.cpp:
3504         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
3505         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
3506         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
3507         (WebCore::InspectorBrowserDebuggerAgent::clear):
3508         * inspector/InspectorBrowserDebuggerAgent.h:
3509         * inspector/InspectorInstrumentation.cpp:
3510         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3511         * inspector/front-end/BreakpointManager.js:
3512         (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint):
3513         (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint):
3514         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
3515         (WebInspector.BreakpointManager.prototype._projectChanged):
3516         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
3517         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
3518         (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
3519         * inspector/front-end/BreakpointsSidebarPane.js:
3520         (WebInspector.EventListenerBreakpointsSidebarPane):
3521         (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
3522         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
3523         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
3524         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
3525         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
3526         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
3527         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
3528         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
3529         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
3530         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
3531         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints):
3532         * inspector/front-end/CallStackSidebarPane.js:
3533         (WebInspector.CallStackSidebarPane.prototype.update):
3534         (WebInspector.CallStackSidebarPane.prototype.setStatus):
3535         (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit):
3536         * inspector/front-end/ScriptsPanel.js:
3537         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3538         (WebInspector.ScriptsPanel.prototype._clearInterface):
3539         * inspector/front-end/Settings.js:
3540         (WebInspector.Settings):
3541
3542 2011-03-16  David Kilzer  <ddkilzer@apple.com>
3543
3544         Minor clean-up after r81156, r81172
3545
3546         Follow-up for:
3547         <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++
3548
3549         * platform/graphics/GraphicsLayer.h: Removed unused @class
3550         WebLayer declaration.
3551         * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef
3552         struct CAPropertyAnimation to class declaration.
3553
3554 2011-03-16  Andrey Adaikin  <aandrey@google.com>
3555
3556         Reviewed by Yury Semikhatsky.
3557
3558         Web Inspector: Remove live-edit code
3559         https://bugs.webkit.org/show_bug.cgi?id=56177
3560
3561         * inspector/front-end/Settings.js:
3562         * inspector/front-end/SourceFrame.js:
3563         (WebInspector.SourceFrame):
3564         (WebInspector.SourceFrame.prototype._doubleClick):
3565         * inspector/front-end/TextViewer.js:
3566         (WebInspector.TextEditorMainPanel):
3567         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
3568
3569 2011-03-16  Alexis Menard  <alexis.menard@openbossa.org>
3570
3571         Reviewed by Martin Robinson.
3572
3573         [GStreamer] There is no need to set the state of the pipeline to playing, HTMLMediaElement will do it.
3574         https://bugs.webkit.org/show_bug.cgi?id=56403
3575
3576         In case of a seek on a live pipeline there is no need to call gst_element_set_state(m_playBin, GST_STATE_PLAYING);
3577         As soon as HTMLMediaElement::updatePlayState() is called (like when the data comes in) the playback will be relaunched
3578         i.e the pause() made when beginScrubbing is done is just internal.
3579
3580         No new tests: Verified manually.
3581
3582         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3583         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
3584
3585 2011-03-16  Adam Barth  <abarth@webkit.org>
3586
3587         Reviewed by Eric Seidel.
3588
3589         WebCore GYP build should build platform/
3590         https://bugs.webkit.org/show_bug.cgi?id=56430
3591
3592         Adding platform/ to the GYP build required disabling
3593         ALWAYS_SEARCH_USER_PATHS, which in turn required fixing some latent
3594         style issues.  I suspect we'll end up excluding some of these files
3595         from the build in the final analysis, but we might as well fix the
3596         style errors while we're here.
3597
3598         * bindings/js/JSMainThreadExecState.h:
3599         * bindings/js/ScheduledAction.h:
3600         * css/CSSPrimitiveValueCache.cpp:
3601         * gyp/WebCore.gyp:
3602         * platform/KillRingNone.cpp:
3603         (WebCore::KillRing::append):
3604         (WebCore::KillRing::prepend):
3605         * platform/graphics/ContextShadow.h:
3606         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
3607         (WebCore::LoopBlinnPathProcessor::buildContours):
3608         (WebCore::TessellationState::combineCallback):
3609         * platform/graphics/gpu/PODRedBlackTree.h:
3610         (WebCore::PODRedBlackTree::updateNode):
3611         (WebCore::PODRedBlackTree::logIfVerbose):
3612         * platform/graphics/opengl/TextureMapperGL.cpp:
3613         * platform/graphics/opengl/TextureMapperGL.h:
3614         * platform/graphics/texmap/TextureMapper.h:
3615         (WebCore::BitmapTexture::save):
3616         (WebCore::TextureMapper::paintToTarget):
3617         * platform/graphics/texmap/TextureMapperNode.h:
3618
3619 2011-03-15  Philippe Normand  <pnormand@igalia.com>
3620
3621         Reviewed by Eric Carlson.
3622
3623         [GStreamer] http/tests/media/video-play-stall-before-meta-data.html fails
3624         https://bugs.webkit.org/show_bug.cgi?id=56370
3625
3626         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3627         (WebCore::mediaPlayerPrivateMessageCallback): Let the
3628         mediaPlayerClient handle the stream error, in this case the
3629         HTMLMediaElement will emit a stalled event.
3630
3631 2011-03-10  Philippe Normand  <pnormand@igalia.com>
3632
3633         Reviewed by Martin Robinson.
3634
3635         [GStreamer] Frame accurate seeking isn't always accurate
3636         https://bugs.webkit.org/show_bug.cgi?id=55217
3637
3638         Attempt to build the seek GstClockTime position by converting the
3639         float time value to a GTimeVal value rounded at microsecond
3640         precision. Additionally perform the seek with the ACCURATE seek
3641         flag. These modifications at least fix this manual-test:
3642         http://www.massive-interactive.nl/html5_video/smpte_test_universal.html
3643
3644         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3645         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
3646         (WebCore::MediaPlayerPrivateGStreamer::seek):
3647         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3648
3649 2011-03-15  Yury Semikhatsky  <yurys@chromium.org>
3650
3651         Reviewed by Pavel Feldman.
3652
3653         Web Inspector: split InspectorAgent.populateScriptObjects into more granular agent-specific requests
3654         https://bugs.webkit.org/show_bug.cgi?id=56389
3655
3656         Instead of sending one big request populateScriptObjects each agent requests
3657         for initial data in its constructor.
3658         
3659         * inspector/Inspector.idl:
3660         * inspector/InspectorAgent.cpp:
3661         (WebCore::InspectorAgent::InspectorAgent):
3662         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
3663         (WebCore::InspectorAgent::setFrontend):
3664         (WebCore::InspectorAgent::pushDataCollectedOffline):
3665         (WebCore::InspectorAgent::getPreferredPanel):
3666         * inspector/InspectorAgent.h:
3667         * inspector/InspectorDOMAgent.cpp:
3668         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3669         (WebCore::InspectorDOMAgent::setFrontend):
3670         (WebCore::InspectorDOMAgent::restore):
3671         * inspector/InspectorDOMAgent.h:
3672         (WebCore::InspectorDOMAgent::create):
3673         * inspector/InspectorDebuggerAgent.cpp:
3674         (WebCore::InspectorDebuggerAgent::setFrontend):
3675         * inspector/InspectorDebuggerAgent.h:
3676         * inspector/InspectorProfilerAgent.h:
3677         (WebCore::InspectorProfilerAgent::isEnabled):
3678         * inspector/front-end/ProfilesPanel.js:
3679         (WebInspector.ProfilesPanel):
3680         * inspector/front-end/ScriptsPanel.js:
3681         (WebInspector.ScriptsPanel):
3682         * inspector/front-end/inspector.js:
3683
3684 2011-03-15  Ryosuke Niwa  <rniwa@webkit.org>
3685
3686         Reviewed by Darin Adler.
3687
3688         Devirtualize isContentEditable and isRichlyContentEditable
3689         https://bugs.webkit.org/show_bug.cgi?id=56421
3690
3691         Rewrote Node::isContentEditable as a non-recursive non-virtual function.
3692
3693         * dom/Document.cpp: Removed isContentEditable and isContentRichlyEditable.
3694         * dom/Document.h: Ditto.
3695         * dom/Node.cpp:
3696         (WebCore::Node::isContentEditable): Rewritten.
3697         * dom/Node.h:
3698         (WebCore::Node::isContentEditable): Calls isContentEditable(Editable).
3699         (WebCore::Node::isContentRichlyEditable): Calls isContentEditable(RichlyEditable).
3700         * html/HTMLElement.cpp: Removed isContentEditable and isContentRichlyEditable.
3701         * html/HTMLElement.h: Ditto.
3702
3703 2011-03-15  Adam Barth  <abarth@webkit.org>
3704
3705         Reviewed by Eric Seidel.
3706
3707         WebCore GYP build should build inspector/ loader/ mathml/ notifications/ and page/
3708         https://bugs.webkit.org/show_bug.cgi?id=56412
3709
3710         Yay for smooth sailing.
3711
3712         * gyp/WebCore.gyp:
3713
3714 2011-03-15  Dimitri Glazkov  <dglazkov@chromium.org>
3715
3716         Reviewed by Kent Tamura.
3717
3718         REGRESSION(r76147): A slider thumb that is styled cannot be programmatically moved
3719         https://bugs.webkit.org/show_bug.cgi?id=56059
3720
3721         Test: fast/dom/HTMLInputElement/input-slider-update-styled.html
3722
3723         * html/RangeInputType.cpp:
3724         (WebCore::RangeInputType::valueChanged): Changed to use setPositionFromValue.
3725         * html/shadow/SliderThumbElement.cpp:
3726         (WebCore::SliderThumbElement::setPositionFromValue): Added.
3727         (WebCore::SliderThumbElement::dragFrom): Changed to use setPositionFromPoint.
3728         (WebCore::SliderThumbElement::setPositionFromPoint): Ditto.
3729         (WebCore::SliderThumbElement::defaultEventHandler): Ditto.
3730         * html/shadow/SliderThumbElement.h: Added decls.
3731
3732 2011-03-15  David Levin  <levin@chromium.org>
3733
3734         Attempted build fix following r81213. Same song second verse.
3735
3736         * platform/image-encoders/skia/PNGImageEncoder.cpp:
3737         (WebCore::encodePixels):
3738
3739 2011-03-15  David Levin  <levin@chromium.org>
3740
3741         Attempted build fix for Chromium OSX release build following r81213.
3742
3743         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
3744         (WebCore::encodePixels): Change scoping of |pixels| to be after setjmp call.
3745
3746 2011-03-15  John Bauman  <jbauman@chromium.org>
3747
3748         Reviewed by Kenneth Russell.
3749
3750         Non-premultiplied-alpha canvas attribute is ignore for toDataURL, drawImage, texImage2D
3751         https://bugs.webkit.org/show_bug.cgi?id=56238
3752
3753        Attempt to get an ImageData (non-premultiplied) from a WebGL canvas
3754        instead of getting an ImageBuffer, so there's a chance the data can be
3755        passed straight through to the consumer with no premultiplication
3756        necessary. Fixes Chromium and Safari.
3757
3758         Test: fast/canvas/webgl/premultiplyalpha-test.html
3759
3760         * html/HTMLCanvasElement.cpp:
3761         (WebCore::HTMLCanvasElement::toDataURL):
3762         (WebCore::HTMLCanvasElement::getImageData):
3763         * html/HTMLCanvasElement.h:
3764         * html/canvas/WebGLRenderingContext.cpp:
3765         (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
3766         (WebCore::WebGLRenderingContext::texImage2D):
3767         (WebCore::WebGLRenderingContext::texSubImage2D):
3768         * html/canvas/WebGLRenderingContext.h:
3769         * platform/graphics/GraphicsContext3D.h:
3770         * platform/graphics/ImageBuffer.h:
3771         * platform/graphics/cg/ImageBufferCG.cpp:
3772         (WebCore::CGImageToDataURL):
3773         (WebCore::ImageBuffer::toDataURL):
3774         (WebCore::ImageDataToDataURL):
3775         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3776         (WebCore::GraphicsContext3D::validateAttributes):
3777         (WebCore::GraphicsContext3D::readRenderingResults):
3778         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
3779         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
3780         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3781         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
3782         * platform/graphics/skia/ImageBufferSkia.cpp:
3783         (WebCore::ImageToDataURL):
3784         (WebCore::ImageBuffer::toDataURL):
3785         (WebCore::ImageDataToDataURL):
3786         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
3787         (WebCore::preMultipliedBGRAtoRGB):
3788         (WebCore::RGBAtoRGB):
3789         (WebCore::encodePixels):
3790         (WebCore::JPEGImageEncoder::encode):
3791         * platform/image-encoders/skia/JPEGImageEncoder.h:
3792         * platform/image-encoders/skia/PNGImageEncoder.cpp:
3793         (WebCore::preMultipliedBGRAtoRGBA):
3794         (WebCore::encodePixels):
3795         (WebCore::PNGImageEncoder::encode):
3796         * platform/image-encoders/skia/PNGImageEncoder.h:
3797
3798 2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
3799
3800         [wx] Build fix, only compile the methods when the INDEXED_DATABASE feature is enabled.
3801         
3802         * storage/IDBDatabaseCallbacksImpl.cpp:
3803
3804 2011-03-15  Brady Eidson  <beidson@apple.com>
3805
3806         Build fix after r81208 for https://bugs.webkit.org/show_bug.cgi?id=56425
3807
3808         * loader/icon/IconDatabaseBase.h: #include instead of forward declare.
3809
3810 2011-03-15  Beth Dakin  <bdakin@apple.com>
3811
3812         Reviewed by Darin Adler.
3813
3814         Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to 
3815         send notifications appropriate times (showing up, resizing)
3816         -and corresponding-
3817         https://bugs.webkit.org/show_bug.cgi?id=56067
3818
3819         The general strategy here is to add a HashSet of ScrollableAreas to the page that 
3820         can be accessed when necessary to send notifications to all ScrollableAreas. In 
3821         turn, all of the ScrollableArea classes that add themselves to the HashSet must 
3822         keep a weak pointer to Page so that they can remove themselves without relying on 
3823         Frames or Renderers to still have references.
3824
3825         Find layers for relevant node and if the layers are in the Page's ScrollableArea 
3826         set, then send the relevant notification.
3827         * page/EventHandler.cpp:
3828         (WebCore::layerForNode):
3829         (WebCore::EventHandler::mouseMoved):
3830         (WebCore::EventHandler::updateMouseEventTargetNode):
3831
3832         When the page is set active or not active, iterate through the Page's 
3833         ScrollableAreas to send hide/show notifications. 
3834         * page/FocusController.cpp:
3835         (WebCore::FocusController::setActive):
3836
3837         When a FrameView is created, add it to the ScrollableArea set. When it's 
3838         destroyed, remove it.
3839         * page/FrameView.cpp:
3840         (WebCore::FrameView::FrameView):
3841         (WebCore::FrameView::~FrameView):
3842
3843         Iterate through the Page's ScrollableAreas to send the paint notification.
3844         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
3845         * page/FrameView.h:
3846         (WebCore::FrameView::disconnectFromPage):
3847
3848         Add the new ScrollableArea set.
3849         * page/Page.cpp:
3850         (WebCore::Page::~Page):
3851         (WebCore::Page::addScrollableArea):
3852 (WebCore::Page::removeScrollableArea):
3853         (WebCore::Page::containsScrollableArea):
3854         * page/Page.h:
3855         (WebCore::Page::scrollableAreaSet):
3856
3857         notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
3858         * platform/ScrollView.cpp:
3859         (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
3860         
3861         Call notifyPageThatContentAreaWillPaint() instead of calling 
3862         contentAreaWillPaint() just for the ScrollView.
3863         (WebCore::ScrollView::paint):
3864         * platform/ScrollView.h:
3865
3866         Add/remove ScrollableAreas to the set. Add new disconnectFromPage().
3867         * platform/ScrollableArea.h:
3868         (WebCore::ScrollableArea::disconnectFromPage):
3869         * rendering/RenderDataGrid.cpp:
3870         (WebCore::RenderDataGrid::RenderDataGrid):
3871         (WebCore::RenderDataGrid::~RenderDataGrid):
3872         * rendering/RenderDataGrid.h:
3873         (WebCore::RenderDataGrid::disconnectFromPage):
3874         * rendering/RenderLayer.cpp:
3875         (WebCore::RenderLayer::RenderLayer):
3876         (WebCore::RenderLayer::~RenderLayer):
3877         * rendering/RenderLayer.h:
3878         (WebCore::RenderLayer::disconnectFromPage):
3879         * rendering/RenderListBox.cpp:
3880         (WebCore::RenderListBox::RenderListBox):
3881         (WebCore::RenderListBox::~RenderListBox):
3882         * rendering/RenderListBox.h:
3883         (WebCore::RenderListBox::disconnectFromPage):
3884
3885         Should have implemented this ScrollableArea-interface function a while ago.
3886         (WebCore::RenderLayer::currentMousePosition):
3887
3888 2011-03-15  Brady Eidson  <beidson@apple.com>
3889
3890         Reviewed by Sam Weinig.
3891
3892         https://bugs.webkit.org/show_bug.cgi?id=56425
3893         WebKit2 icon database.
3894
3895         * WebCore.exp.in:
3896
3897 2011-03-15  Adam Barth  <abarth@webkit.org>
3898
3899         Reviewed by Dimitri Glazkov.
3900
3901         WebCore GYP build should build editing, fileapi, history, and html
3902         https://bugs.webkit.org/show_bug.cgi?id=56411
3903
3904         These all went smoothly.
3905
3906         * gyp/WebCore.gyp:
3907
3908 2011-03-15  Adam Barth  <abarth@webkit.org>
3909
3910         Reviewed by Eric Seidel.
3911
3912         WebCore GYP build should build dom/
3913         https://bugs.webkit.org/show_bug.cgi?id=56409
3914
3915         * gyp/WebCore.gyp:
3916
3917 2011-03-15  Adam Barth  <abarth@webkit.org>
3918
3919         Reviewed by Eric Seidel.
3920
3921         WebCore GYP build should build css/
3922         https://bugs.webkit.org/show_bug.cgi?id=56408
3923
3924         CSSParser.cpp #includes tokenizer.cpp, which we haven't included in the
3925         build yet.  I've punted on that problem for now, but we'll come back to
3926         it.
3927
3928         * gyp/WebCore.gyp:
3929
3930 2011-03-15  Adam Barth  <abarth@webkit.org>
3931
3932         Reviewed by Dimitri Glazkov.
3933
3934         WebCore GYP build should build bindings/
3935         https://bugs.webkit.org/show_bug.cgi?id=56406
3936
3937         I wanted to include bindings/objc in this patch, but they were somewhat
3938         complicated.  It looks like they include headers from the output
3939         directory (via PrivateHeaders), but we haven't wired up the
3940         PrivateHeaders yet.
3941
3942         * gyp/WebCore.gyp:
3943
3944 2011-03-15  James Simonsen  <simonjam@chromium.org>
3945
3946         Reviewed by Tony Gentilcore.
3947
3948         Need different behavior for ensuring execution order of dynamically loaded scripts
3949         https://bugs.webkit.org/show_bug.cgi?id=50115
3950
3951         Dynamically added scripts with async=false will load in parallel, but execute in order.
3952         See: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#force-async
3953
3954         Tests: fast/dom/HTMLScriptElement/script-async-attr.html
3955                http/tests/misc/script-async-load-execute-in-order.html
3956
3957         * Android.mk: Rename AsyncScriptRunner -> ScriptRunner.
3958         * CMakeLists.txt: Ditto.
3959         * GNUmakefile.am: Ditto.
3960         * WebCore.gypi: Ditto.
3961         * WebCore.pro: Ditto.
3962         * WebCore.vcproj/WebCore.vcproj: Ditto.
3963         * WebCore.xcodeproj/project.pbxproj: Ditto.
3964         * dom/DOMAllInOne.cpp: Ditto.
3965         * dom/Document.cpp:
3966         (WebCore::Document::Document): Ditto.
3967         (WebCore::Document::~Document): Ditto.
3968         * dom/Document.h:
3969         (WebCore::Document::scriptRunner): Ditto.
3970         * dom/ScriptElement.cpp:
3971         (WebCore::ScriptElement::ScriptElement): Added forceAsync and willExecuteInOrder.
3972         (WebCore::ScriptElement::handleAsyncAttribute): Called by HTMLScriptElement when async attribute changes.
3973         (WebCore::ScriptElement::prepareScript): Added support for forceAsync.
3974         (WebCore::ScriptElement::notifyFinished): Tell ScriptRunner to execute in order if needed.
3975         * dom/ScriptElement.h:
3976         (WebCore::ScriptElement::forceAsync): Added.
3977         * dom/ScriptRunner.cpp: Renamed from Source/WebCore/dom/AsyncScriptRunner.cpp.
3978         (WebCore::ScriptRunner::ScriptRunner): Added in-order script queue.
3979         (WebCore::ScriptRunner::~ScriptRunner): Ditto.
3980         (WebCore::ScriptRunner::executeScriptSoon):
3981         (WebCore::ScriptRunner::queueScriptForInOrderExecution): Added.
3982         (WebCore::ScriptRunner::suspend):
3983         (WebCore::ScriptRunner::resume):
3984         (WebCore::ScriptRunner::timerFired): Execute in-order scripts if ready.
3985         * dom/ScriptRunner.h: Renamed from Source/WebCore/dom/AsyncScriptRunner.h.
3986         (WebCore::ScriptRunner::create):
3987         (WebCore::ScriptRunner::hasPendingScripts): Check for in-order scripts too.
3988         * html/HTMLScriptElement.cpp:
3989         (WebCore::HTMLScriptElement::attributeChanged): Notify ScriptElement when async changes.
3990         (WebCore::HTMLScriptElement::setAsync): Ditto.
3991         (WebCore::HTMLScriptElement::async): Include forceAsync in calculation.
3992         * html/HTMLScriptElement.h:
3993         * html/HTMLScriptElement.idl: Removed Reflect from async for custom behavior.
3994         * page/PageGroupLoadDeferrer.cpp:
3995         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Rename AsyncScriptRunner -> ScriptRunner.
3996         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): Ditto.
3997
3998 2011-03-15  Tony Chang  <tony@chromium.org>
3999
4000         Reviewed by Adam Barth.
4001
4002         pngcrush images used by inspector
4003         https://bugs.webkit.org/show_bug.cgi?id=56426
4004
4005         This saves 120k in WebCore and 8k in WebKit/chromium.  I ran
4006         pngcrush -brute, so none of the meta data (ancillary chunks)
4007         are modified.
4008
4009         No new tests, just compressing png files.
4010
4011         * inspector/front-end/Images/applicationCache.png:
4012         * inspector/front-end/Images/auditsIcon.png:
4013         * inspector/front-end/Images/back.png:
4014         * inspector/front-end/Images/breakpointBorder.png:
4015         * inspector/front-end/Images/breakpointConditionalBorder.png:
4016         * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
4017         * inspector/front-end/Images/breakpointCounterBorder.png:
4018         * inspector/front-end/Images/breakpointsActivateButtonGlyph.png:
4019         * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png:
4020         * inspector/front-end/Images/checker.png:
4021         * inspector/front-end/Images/clearConsoleButtonGlyph.png:
4022         * inspector/front-end/Images/closeButtons.png:
4023         * inspector/front-end/Images/consoleButtonGlyph.png:
4024         * inspector/front-end/Images/consoleIcon.png:
4025         * inspector/front-end/Images/cookie.png:
4026         * inspector/front-end/Images/database.png:
4027         * inspector/front-end/Images/databaseTable.png:
4028         * inspector/front-end/Images/debuggerContinue.png:
4029         * inspector/front-end/Images/debuggerPause.png:
4030         * inspector/front-end/Images/debuggerStepInto.png:
4031         * inspector/front-end/Images/debuggerStepOut.png:
4032         * inspector/front-end/Images/debuggerStepOver.png:
4033         * inspector/front-end/Images/disclosureTriangleSmallDown.png:
4034         * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png:
4035         * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png:
4036         * inspector/front-end/Images/disclosureTriangleSmallRight.png:
4037         * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png:
4038         * inspector/front-end/Images/disclosureTriangleSmallRightDown.png:
4039         * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png:
4040         * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png:
4041         * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png:
4042         * inspector/front-end/Images/dockButtonGlyph.png:
4043         * inspector/front-end/Images/elementsIcon.png:
4044         * inspector/front-end/Images/enableOutlineButtonGlyph.png:
4045         * inspector/front-end/Images/enableSolidButtonGlyph.png:
4046         * inspector/front-end/Images/errorIcon.png:
4047         * inspector/front-end/Images/errorMediumIcon.png:
4048         * inspector/front-end/Images/errorRedDot.png:
4049         * inspector/front-end/Images/excludeButtonGlyph.png:
4050         * inspector/front-end/Images/focusButtonGlyph.png:
4051         * inspector/front-end/Images/forward.png:
4052         * inspector/front-end/Images/frame.png:
4053         * inspector/front-end/Images/garbageCollectButtonGlyph.png:
4054         * inspector/front-end/Images/gearButtonGlyph.png:
4055         * inspector/front-end/Images/glossyHeader.png:
4056         * inspector/front-end/Images/glossyHeaderPressed.png:
4057         * inspector/front-end/Images/glossyHeaderSelected.png:
4058         * inspector/front-end/Images/glossyHeaderSelectedPressed.png:
4059         * inspector/front-end/Images/goArrow.png:
4060         * inspector/front-end/Images/graphLabelCalloutLeft.png:
4061         * inspector/front-end/Images/graphLabelCalloutRight.png:
4062         * inspector/front-end/Images/helpButtonGlyph.png:
4063         * inspector/front-end/Images/largerResourcesButtonGlyph.png:
4064         * inspector/front-end/Images/localStorage.png:
4065         * inspector/front-end/Images/networkIcon.png:
4066         * inspector/front-end/Images/nodeSearchButtonGlyph.png:
4067         * inspector/front-end/Images/paneAddButtons.png:
4068         * inspector/front-end/Images/paneBottomGrow.png:
4069         * inspector/front-end/Images/paneBottomGrowActive.png:
4070         * inspector/front-end/Images/paneGrowHandleLine.png:
4071         * inspector/front-end/Images/paneSettingsButtons.png:
4072         * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png:
4073         * inspector/front-end/Images/percentButtonGlyph.png:
4074         * inspector/front-end/Image