2011-02-04 Pavel Podivilov <podivilov@chromium.org>
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         Web Inspector: scripts panel displays wrong file name after reload.
6         https://bugs.webkit.org/show_bug.cgi?id=53761
7
8         * inspector/front-end/ScriptsPanel.js:
9         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
10
11 2011-02-03  Yury Semikhatsky  <yurys@chromium.org>
12
13         Reviewed by Pavel Feldman.
14
15         Web Inspector: remove settings related methods from InspectorClient
16         https://bugs.webkit.org/show_bug.cgi?id=53686
17
18         * WebCore.exp.in:
19         * inspector/CodeGeneratorInspector.pm:
20         * inspector/InspectorClient.h:
21         * inspector/InspectorFrontendClientLocal.cpp:
22         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
23         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
24         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
25         * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
26         provide platform-specific settings accessor.
27         (WebCore::InspectorFrontendClientLocal::Settings::Settings):
28         (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
29         (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
30         (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
31         * loader/EmptyClients.h:
32
33 2011-02-03  Anton Muhin  <antonm@chromium.org>
34
35         Reviewed by Adam Barth.
36
37         [v8] frame several more JS code invocations into v8::TryCatch
38         https://bugs.webkit.org/show_bug.cgi?id=53594
39
40         This patch is preemptive and adjusts v8 bindings code to forthcoming small change
41         in v8::ThrowException---currently sometimes exceptions thrown by this method
42         do not reach surrounding v8::TryCatch handler (see
43         http://code.google.com/p/v8/issues/detail?id=1072 and
44         http://codereview.chromium.org/6397011/).  Therefore the goal of this patch
45         is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
46         one rebaseline as of now.)
47
48         * bindings/v8/V8Proxy.cpp:
49         (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
50         * bindings/v8/V8WindowErrorHandler.cpp:
51         (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
52
53 2011-02-03  Maciej Stachowiak  <mjs@apple.com>
54
55         Reviewed by Dan Bernstein.
56
57         WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
58         https://bugs.webkit.org/show_bug.cgi?id=52897
59         <rdar://problem/8898294>
60
61         * WebCore.exp.in: Add export now needed by WebKit2
62
63 2011-02-03  Victoria Kirst  <vrk@google.com>
64
65         Reviewed by James Robinson.
66
67         Replaces float literals with uniform values in shader code
68         so that buggy drivers unable to parse float values in different
69         locales will not produce a pink video.
70
71         [chromium] Fix pink video bug with gpu-acceleration enabled
72         https://bugs.webkit.org/show_bug.cgi?id=53568
73
74         * platform/graphics/chromium/VideoLayerChromium.cpp:
75         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
76         (WebCore::VideoLayerChromium::drawYUV):
77         * platform/graphics/chromium/VideoLayerChromium.h:
78         (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
79
80 2011-02-03  James Kozianski  <koz@chromium.org>
81
82         Reviewed by Dimitri Glazkov.
83
84         Add navigator.registerProtocolHandler behind a flag.
85         https://bugs.webkit.org/show_bug.cgi?id=52609
86
87         This method is described in the HTML5 specification here,
88         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
89
90         This change is largely cribbed from B. Green's 29651 patches. It is
91         behind a flag so as not to break JS feature detection.
92
93         New layout test fast/dom/registerProtocolHandler.html.
94
95         * Configurations/FeatureDefines.xcconfig:
96         * loader/EmptyClients.h:
97         (WebCore::EmptyChromeClient::registerProtocolHandler):
98         * page/Chrome.cpp:
99         (WebCore::Chrome::registerProtocolHandler):
100         * page/Chrome.h:
101         * page/ChromeClient.h:
102         * page/Navigator.cpp:
103         (WebCore::verifyCustomHandlerURL):
104         (WebCore::verifyProtocolHandlerScheme):
105         (WebCore::Navigator::registerProtocolHandler):
106         * page/Navigator.h:
107         * page/Navigator.idl:
108
109 2011-02-03  Brian Ryner  <bryner@chromium.org>
110
111         Reviewed by Darin Fisher.
112
113         Add a field to the ResourceResponse for tracking the socket address
114         of the host that the resource was fetched from.  Patch was originally
115         by Paul Marks.
116         https://bugs.webkit.org/show_bug.cgi?id=53699
117
118         * platform/network/chromium/ResourceResponse.cpp:
119         (WebCore::ResourceResponse::doPlatformCopyData):
120         (WebCore::ResourceResponse::doPlatformAdopt):
121         * platform/network/chromium/ResourceResponse.h:
122         (WebCore::ResourceResponse::socketAddress):
123         (WebCore::ResourceResponse::setSocketAddress):
124
125 2011-02-03  Adam Langley  <agl@chromium.org>
126
127         Reviewed by Adam Barth.
128
129         Plumb mixed script URL to FrameLoaderClient
130         https://bugs.webkit.org/show_bug.cgi?id=52384
131
132         Regressions covered by http/tests/security/mixedContent/*
133
134         * loader/EmptyClients.h:
135         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
136         * loader/FrameLoader.cpp:
137         (WebCore::FrameLoader::checkIfRunInsecureContent):
138         * loader/FrameLoaderClient.h:
139
140 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
141
142         Reviewed by Dan Bernstein.
143
144         REGRESSION: Artifacts on box-shadow corners in some cases
145         https://bugs.webkit.org/show_bug.cgi?id=53731
146
147         Fix overdrawing artifacts in ShadowBlur's tiling code path,
148         which show up in shadows using a color with alpha.
149         
150         Test: fast/box-shadow/shadow-tiling-artifact.html
151
152         * platform/graphics/ShadowBlur.cpp:
153         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
154         that the inner rect that gets filled does not overlap with any
155         of the eight tiled areas by having the corner and side dimensions
156         be the same for contiguous areas.
157
158 2011-02-03  Adam Barth  <abarth@webkit.org>
159
160         Reviewed by Alexey Proskuryakov.
161
162         XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
163         percent signs in large posted data
164         https://bugs.webkit.org/show_bug.cgi?id=53405
165
166         If the input string contains many non-% characters followed by a %
167         character that is not a valid URL escape sequence, then the old
168         algorithm would only advance the initial search by one character
169         (instead of jumping to just after the % character).  That would cause
170         the algorithm to take N^2 time (in the number of characters before the
171         first % character).  This patch just advances the search past the first
172         % character so we can start looking for next % character sooner.
173
174         * platform/KURL.cpp:
175         (WebCore::decodeURLEscapeSequences):
176
177 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
178
179         Reviewed by Pavel Feldman.
180
181         Web Inspector: click on a breakpoint highlights wrong line in source frame.
182         https://bugs.webkit.org/show_bug.cgi?id=53692
183
184         * inspector/front-end/BreakpointsSidebarPane.js:
185         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
186
187 2011-02-03  Anton Muhin  <antonm@chromium.org>
188
189         Reviewed by Adam Barth.
190
191         [v8] Bail out if to string conversion returned empty handle
192         https://bugs.webkit.org/show_bug.cgi?id=53687
193
194         This a temporary measure: actually one probably should never get empty handle
195         if there was no exception.  The root cause is under investigation.
196         The bailout though allows Chromium not to crash---attempt to convert an empty
197         v8 hande into WebCore string crashes with invalid memory access.
198
199         See http://code.google.com/p/chromium/issues/detail?id=71544
200
201         There is no known reduction expressible as a layout test so far.  The crash found with automated testing tools.
202
203         * bindings/v8/V8Binding.cpp:
204         (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
205         * bindings/v8/V8Binding.h:
206         (WebCore::V8ParameterBase::prepareBase): Ditto
207
208 2011-02-03  Adam Barth  <abarth@webkit.org>
209
210         Attempt to fix Chromium build.
211
212         * html/parser/XSSFilter.cpp:
213
214 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
215
216         Unreviewed, rolling out r77562.
217         http://trac.webkit.org/changeset/77562
218         https://bugs.webkit.org/show_bug.cgi?id=53630
219
220         broke chromium mac build
221
222         * WebCore.gyp/WebCore.gyp:
223         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
224
225 2011-02-03  Adam Barth  <abarth@webkit.org>
226
227         Reviewed by Daniel Bates.
228
229         XSS Auditor severely affects loading performance after submitting a large form
230         https://bugs.webkit.org/show_bug.cgi?id=49845
231
232         Switch over from the XSSAuditor to the XSSFilter, improving performance
233         on this example.
234
235         * html/parser/XSSFilter.cpp:
236         (WebCore::XSSFilter::filterToken):
237         * page/XSSAuditor.cpp:
238         (WebCore::XSSAuditor::isEnabled):
239
240 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
241
242         Unreviewed, rolling out r77567.
243         http://trac.webkit.org/changeset/77567
244         https://bugs.webkit.org/show_bug.cgi?id=53468
245
246         broke chromium linux svg, canvas tests, possibly win also?
247
248         * platform/graphics/skia/ImageBufferSkia.cpp:
249         (WebCore::getImageData):
250         (WebCore::ImageBuffer::getUnmultipliedImageData):
251         (WebCore::ImageBuffer::getPremultipliedImageData):
252         (WebCore::putImageData):
253         (WebCore::ImageBuffer::putUnmultipliedImageData):
254         (WebCore::ImageBuffer::putPremultipliedImageData):
255
256 2011-02-02  MORITA Hajime  <morrita@google.com>
257
258         Reviewed by Dimitri Glazkov.
259
260         Refactoring: <progress> should not use ShadowElement
261         https://bugs.webkit.org/show_bug.cgi?id=53583
262
263         - Introduced RenderIndicatorPart and RenderProgressBarValuePart
264           to be responsible for bar-part layout,
265           which adopted layout logic from ShadowBlockElement.
266         - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
267         - Remove dependency from RenderProgress to HTMLProgressElement and
268           ShadowBlockElement.
269         - The shadow tree is no longer removed on detach(). It becomes persistent.
270           This is now possible because the ShadowBlockElement dependency is gone.
271         - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
272           That didn't make sense.
273
274         * html/HTMLProgressElement.cpp:
275         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
276         * html/HTMLProgressElement.h:
277         * html/shadow/ProgressBarValueElement.h: Added.
278         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
279         (WebCore::ProgressBarValueElement::shadowPseudoId):
280         (WebCore::ProgressBarValueElement::createRenderer):
281         (WebCore::ProgressBarValueElement::create):
282         * rendering/RenderIndicator.cpp:
283         (WebCore::RenderIndicatorPart::RenderIndicatorPart):
284         (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
285         (WebCore::RenderIndicatorPart::layout):
286         (WebCore::RenderIndicatorPart::styleDidChange):
287         * rendering/RenderIndicator.h: Added RenderIndicatorPart class
288         (WebCore::RenderIndicatorPart::originalVisibility):
289         (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
290         (WebCore::RenderIndicatorPart::canHaveChildren):
291         * rendering/RenderProgress.cpp:
292         (WebCore::RenderProgressBarValuePart::preferredFrameRect):
293         (WebCore::RenderProgressBarValuePart::shouldBeHidden):
294         (WebCore::RenderProgress::updateFromElement):
295         (WebCore::RenderProgress::layoutParts):
296         (WebCore::RenderProgress::shouldHaveParts):
297         * rendering/RenderProgress.h:
298         (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
299
300 2011-02-03  Jia Pu  <jpu@apple.com>
301
302         Reversion should not be marked as misspelled.
303         https://bugs.webkit.org/show_bug.cgi?id=53255
304
305         This patch includes fix for reported bug, and also some housekeeping changes.
306
307         To implement desired behavior, we need:
308         1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
309            that shouldn't be spellchecked and text shouldn't be autocorrected.
310         2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
311            Otherwise the spell checking code in that function may interfere with autocorrection. This
312            is achieved by explicitly applying pending correction when user types space, line break or
313            paragraph break.
314
315         Housekeeping code changes include:
316         1. Change manual-tests that were broken by relocated WebCore directory.
317         2. Use TextIterator in various DocumentMarkerController functions instead of using
318            Node::traverseNextNode() directly.
319         3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
320            DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
321         4. Fixes of minor bugs that were exposed previously.
322
323         * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
324
325         * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
326
327         * dom/DocumentMarkerController.cpp:
328         (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
329            consistent with addMarker() function. Allow passing in multiple marker types in one call.
330            Added a boolean argument to specify the behavior when removing markers that partially
331            overlap the specified range.
332         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
333            multiple marker types in one call.
334         (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
335            consistent with addMarker() function. Allow passing in multiple marker types in one call.
336
337         * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
338            and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
339            removing markers that partially overlap the specified range.
340
341         * editing/Editor.cpp:
342         (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
343         (WebCore::markerTypesForReplacement): Ditto.
344         (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
345            setSelection() to make sure there is no pending correction when entering
346            markAllMisspellingsAndBadGrammarInRanges().
347         (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
348            is a top level command to improve efficiency.
349         (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
350         (WebCore::Editor::insertLineBreak): Ditto.
351         (WebCore::Editor::insertParagraphSeparator): Ditto.
352         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
353            text carries SpellCheckingExemption marker.
354         (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
355            from spellchecker is an empty string.
356         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
357            Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
358            efficiency and readability.
359         (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
360            applying correction, since it's unnecessary. Also, store pre-correction string together with
361            the marker for reversion panel to use.
362         (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
363         (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
364            where we have access to EditCommand object.
365
366         * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
367
368         * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
369            were broken by relocated WebCore directory.
370
371         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
372
373         * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
374
375         * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
376
377         * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
378
379         * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
380
381         * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
382
383         * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
384
385         * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
386
387         * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
388
389         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
390            were broken by relocated WebCore directory.
391
392         * rendering/InlineTextBox.cpp:
393         (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
394
395 2011-02-03  Abhishek Arya  <inferno@chromium.org>
396
397         Unreviewed, qt build fix.
398
399         * rendering/RenderBlock.cpp:
400         (WebCore::RenderBlock::removeFloatingObject):
401
402 2011-02-03  Brian Salomon  <bsalomon@google.com>
403
404         Reviewed by James Robinson.
405
406         Handle non-raster backed images in getUnmultipliedImageData()
407         https://bugs.webkit.org/show_bug.cgi?id=53468
408
409         No new tests. Existing canvas tests sufficient
410         LayoutTests/canvas/philip/...
411
412         * platform/graphics/skia/ImageBufferSkia.cpp:
413         (WebCore::getImageData):
414         (WebCore::ImageBuffer::getUnmultipliedImageData):
415         (WebCore::ImageBuffer::getPremultipliedImageData):
416         (WebCore::putImageData):
417         (WebCore::ImageBuffer::putUnmultipliedImageData):
418         (WebCore::ImageBuffer::putPremultipliedImageData):
419
420 2011-02-03  Abhishek Arya  <inferno@chromium.org>
421
422         Reviewed by James Robinson.
423
424         Enforce more limits on root inline boxes height calculations.
425         https://bugs.webkit.org/show_bug.cgi?id=53729
426
427         Test: fast/overflow/overflow-height-float-not-removed-crash.html
428
429         * rendering/RenderBlock.cpp:
430         (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
431         become negative when logicalTop is INT_MAX.
432         (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
433         is INT_MAX, we should dirty everything. So, we bail out to make
434         afterLowest equal to the lastRootBox() or lowestDirstLine.
435
436 2011-02-03  David Levin  <levin@chromium.org>
437
438         Reviewed by Adam Barth and Oliver Hunt.
439
440         Worker.importScript() should clean errors for cross origin imports.
441         https://bugs.webkit.org/show_bug.cgi?id=52871
442
443         Test: http/tests/workers/worker-importScriptsOnError.html
444
445         * bindings/js/WorkerScriptController.cpp:
446         (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
447         to determine when to create a clean exception.
448         * bindings/v8/WorkerContextExecutionProxy.cpp:
449         (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
450         * dom/ScriptExecutionContext.cpp:
451         (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
452         if the error needs to be cleaned up.
453         (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
454         sanitizeScriptError for use by other places.
455         * dom/ScriptExecutionContext.h:
456         * workers/WorkerContext.cpp:
457         (WebCore::WorkerContext::importScripts): Use the reponse url when
458         telling the evaluate where the script came fro.
459         * workers/WorkerScriptLoader.cpp:
460         (WebCore::WorkerScriptLoader::responseURL): Expose the url that
461         the script was loaded from (which may be different from url() due
462         to redirects).
463         (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
464         * workers/WorkerScriptLoader.h:
465
466 2011-02-03  Mark Mentovai  <mark@chromium.org>
467
468         Reviewed by Dimitri Glazkov.
469
470         Chromium GYP build fix.
471
472         When various settings were moved to webcore_prerequisites in r66364,
473         things that should have been direct_dependent_settings were not marked
474         as such. GYP 'defines', for example, make no sense on a 'none'-type
475         target such as webcore_prerequisites. It appears that it was intended
476         for these settings to be pushed to direct dependents, which would make
477         direct_dependent_settings correct.
478
479         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
480         http://crbug.com/71537, which at best causes Mac console log spew, and
481         at worst may result in Chromium's copy of WebCore using system
482         definitions of certain Objective-C classes at runtime, or vice-versa.
483
484         The build now includes a postbuild step to prevent
485         http://crbug.com/71537 from regressing again. The build will fail upon
486         regression.
487
488         https://bugs.webkit.org/show_bug.cgi?id=53630
489
490         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
491           direct_dependent_settings as needed, add the check_objc_rename
492           postbuild step.
493         * WebCore.gyp/mac/check_objc_rename.sh: Added.
494
495 2011-02-03  Adam Barth  <abarth@webkit.org>
496
497         Reviewed by Eric Seidel.
498
499         Make XSSFilter go fast by adding a SuffixTree
500         https://bugs.webkit.org/show_bug.cgi?id=53665
501
502         The SuffixTree lets us quickly reject snippets if the POST data is
503         large (because we can avoid a linear scan over the POST data).
504
505         * html/parser/XSSFilter.cpp:
506         (WebCore::XSSFilter::init):
507         (WebCore::XSSFilter::isContainedInRequest):
508         * html/parser/XSSFilter.h:
509
510 2011-02-03  Mihai Parparita  <mihaip@chromium.org>
511
512         Reviewed by Alexey Proskuryakov.
513
514         REGRESSION (r77355): Page cache layout tests crash
515         https://bugs.webkit.org/show_bug.cgi?id=53648
516
517         Test: fast/events/pagehide-timeout.html
518         
519         Suspend active DOM objects after all pagehide event handlers have run,
520         otherwise it's possible for them to create more objects that weren't
521         getting suspended.
522
523         * history/CachedFrame.cpp:
524         (WebCore::CachedFrame::CachedFrame):
525
526 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
527
528         Reviewed by Nate Chapin.
529
530         SerializedScriptValue should not require v8 to create undefined and null values
531         https://bugs.webkit.org/show_bug.cgi?id=53730
532
533         Instead of creating a v8 type and passing that into the constructor, just use
534         the writer class directly. While I was at it, I cleaned up the code a bit too
535         by getting rid of the WireData/StringValue enum as I found that personally
536         confusing.
537
538         This is necessary because these methods are called by IndexedDB in the browser
539         process where v8 is not spun up.
540
541         No functionality changed and not possible to test.
542
543         * bindings/v8/SerializedScriptValue.cpp:
544         (WebCore::SerializedScriptValue::createFromWire):
545         (WebCore::SerializedScriptValue::create):
546         (WebCore::SerializedScriptValue::nullValue):
547         (WebCore::SerializedScriptValue::undefinedValue):
548         (WebCore::SerializedScriptValue::release):
549         (WebCore::SerializedScriptValue::SerializedScriptValue):
550         * bindings/v8/SerializedScriptValue.h:
551
552 2011-02-03  Beth Dakin  <bdakin@apple.com>
553
554         Reviewed by Sam Weinig.
555
556         Fix for <rdar://problem/8944544> Ability to animate track
557         for WKPainter scrollers
558
559         Two new WebKitSystemInterface functions.
560         * WebCore.exp.in:
561         * platform/mac/WebCoreSystemInterface.h:
562         * platform/mac/WebCoreSystemInterface.mm:
563
564         Use Scrollbar::convertFromContainingView() to return the right point.
565         * platform/mac/ScrollAnimatorMac.mm:
566         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
567         
568         ScrollKnobAnimation is now ScrollbarPartAnimation. It can
569         now be used to animate the knob or the track.
570         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
571         (-[ScrollbarPartAnimation setCurrentProgress:]):
572         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
573         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
574         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
575
576         Scrollbars need invalodating after the overlay state changes. 
577         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
578
579 2011-02-03  Sam Weinig  <sam@webkit.org>
580
581         Reviewed by Beth Dakin.
582
583         Scroll thumb jumps to top when resizing horizontally.
584
585         * platform/ScrollView.cpp:
586         (WebCore::ScrollView::updateScrollbars): Add call to update
587         the scrollbar's offset in the case where we may have created
588         a new scrollbar but have not changed the current position.
589
590 2011-02-03  Justin Schuh  <jschuh@chromium.org>
591
592         Reviewed by Dirk Schulze.
593
594         startAnimations should use a local, RefCounted Vector.
595         https://bugs.webkit.org/show_bug.cgi?id=53458
596
597         Test: svg/custom/use-animation-in-fill.html
598
599         * svg/SVGDocumentExtensions.cpp:
600         (WebCore::SVGDocumentExtensions::startAnimations):
601
602 2011-02-03  Adam Barth  <abarth@webkit.org>
603
604         Reviewed by Daniel Bates.
605
606         XSSFilter shouldn't bother to analyze pages without "injection"
607         characters in the request
608         https://bugs.webkit.org/show_bug.cgi?id=53664
609
610         If the request lacks these "injection" characters, then it's unlikely
611         that there's a reflective XSS attack happening.  This hueristic lets us
612         avoid analyzing the vast majority of responses for XSS.  Of course, the
613         hueristic isn't perfect.  Because of this huerstic, we miss out on
614         injections into unquoted attributes.  However, it's a trade-off that's
615         worked well in the XSSAuditor.
616
617         * html/parser/XSSFilter.cpp:
618         (WebCore::HTMLNames::isRequiredForInjection):
619         (WebCore::XSSFilter::XSSFilter):
620         (WebCore::XSSFilter::init):
621         (WebCore::XSSFilter::filterToken):
622         (WebCore::XSSFilter::isContainedInRequest):
623         * html/parser/XSSFilter.h:
624
625 2011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>
626
627         Reviewed by Kenneth Russell.
628
629         [chromium] Fixing a compositor crash occurring on layers
630         without an associated RenderSurface.
631         https://bugs.webkit.org/show_bug.cgi?id=53679
632         Regression was introduced by in r77425 
633
634         Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
635         anymore.
636
637         * platform/graphics/chromium/LayerRendererChromium.cpp:
638         (WebCore::LayerRendererChromium::drawLayer):
639
640 2011-02-03  Dan Bernstein  <mitz@apple.com>
641
642         Reviewed by Anders Carlsson.
643
644         <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
645         https://bugs.webkit.org/show_bug.cgi?id=53709
646
647         Covered by rendering of fast/text/emphasis-vertical.html
648
649         * platform/graphics/mac/SimpleFontDataMac.mm:
650         (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
651         has.
652
653 2011-02-02  Levi Weintraub  <leviw@chromium.org>
654
655         Reviewed by Ryosuke Niwa.
656
657         Moving cursor down in table cycles at the end of a row
658         https://bugs.webkit.org/show_bug.cgi?id=50012
659
660         Avoids a caret cycling issue with certain content (e.g. tables) found at the very
661         end of a document due to a bug in nextLeafWithSameEditability.
662
663         Test: editing/selection/move-by-line-cycles-in-table.html
664
665         * editing/visible_units.cpp:
666         (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
667         original leaf node.
668
669 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
670
671         Reviewed by Pavel Feldman.
672
673         Web Inspector: remove dead code related to changes panel.
674         https://bugs.webkit.org/show_bug.cgi?id=53688
675
676         * WebCore.gypi:
677         * WebCore.vcproj/WebCore.vcproj:
678         * inspector/front-end/ChangesView.js: Removed.
679         * inspector/front-end/WebKit.qrc:
680         * inspector/front-end/inspector.css:
681         (#error-warning-count):
682         (#error-warning-count:hover):
683         (#error-count + #warning-count):
684         * inspector/front-end/inspector.html:
685         * inspector/front-end/inspector.js:
686
687 2011-02-02  Sam Weinig  <sam@webkit.org>
688
689         Reviewed by Anders Carlsson.
690
691         Add notification of the end of a rubber band.
692         <rdar://problem/8940648>
693
694         * WebCore.exp.in:
695         Add additional exprots.
696
697         * page/ChromeClient.h:
698         (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
699         * page/FrameView.cpp:
700         (WebCore::FrameView::didCompleteRubberBand):
701         * page/FrameView.h:
702         * platform/ScrollView.cpp:
703         (WebCore::ScrollView::didCompleteRubberBand):
704         * platform/ScrollView.h:
705         Add hook.
706
707         * platform/ScrollableArea.h:
708         (WebCore::ScrollableArea::inLiveResize):
709         (WebCore::ScrollableArea::maximumScrollPosition):
710         (WebCore::ScrollableArea::visibleWidth):
711         (WebCore::ScrollableArea::overhangAmount):
712         (WebCore::ScrollableArea::didCompleteRubberBand):
713         Reorganize and de-virtualize live resize notifications.
714
715         * platform/mac/ScrollAnimatorMac.mm:
716         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
717         Call the new hook when the rubberband ends.
718
719 2011-02-02  Evan Martin  <evan@chromium.org>
720
721         Reviewed by Tony Chang.
722
723         [chromium] complex joining characters positioned in wrong place
724         https://bugs.webkit.org/show_bug.cgi?id=53637
725
726         Provide the correct font metrics to Harfbuzz related to the font design space.
727         There are used in some fonts for GPOS positioning.
728
729         Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
730
731         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
732         (WebCore::ComplexTextController::setupFontForScriptRun):
733         (WebCore::ComplexTextController::allocHarfbuzzFont):
734         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
735         (WebCore::FontPlatformData::FontPlatformData):
736         (WebCore::FontPlatformData::emSizeInFontUnits):
737         (WebCore::FontPlatformData::operator=):
738         * platform/graphics/chromium/FontPlatformDataLinux.h:
739         (WebCore::FontPlatformData::FontPlatformData):
740
741 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
742
743         Reviewed by Kent Tamura.
744
745         REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
746         https://bugs.webkit.org/show_bug.cgi?id=53634
747
748         Test: fast/dom/HTMLInputElement/input-slider-update.html
749
750         * html/HTMLInputElement.cpp:
751         (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
752         * html/InputType.cpp:
753         (WebCore::InputType::valueChanged): Added empty implementation.
754         * html/InputType.h: Added def.
755         * html/RangeInputType.cpp:
756         (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
757             bit on the thumb.
758         * html/RangeInputType.h: Added def.
759
760 2011-02-02  Pavel Podivilov  <podivilov@chromium.org>
761
762         Reviewed by Pavel Feldman.
763
764         Web Inspector: do not share source frames between resources panel and scripts panel.
765         https://bugs.webkit.org/show_bug.cgi?id=53584
766
767         Currently, we show error messages only for resources. This change will allow showing error
768         messages in source frame even when resource is not available (eval scripts, inlined scripts).
769
770         * inspector/front-end/ConsoleView.js:
771         (WebInspector.ConsoleView.prototype.addMessage):
772         (WebInspector.ConsoleView.prototype.clearMessages):
773         * inspector/front-end/ResourceView.js:
774         (WebInspector.ResourceView.recreateResourceView):
775         * inspector/front-end/ResourcesPanel.js:
776         (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
777         * inspector/front-end/ScriptsPanel.js:
778         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
779         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
780         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
781         (WebInspector.ScriptsPanel.prototype.reset):
782         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
783         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
784         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
785
786 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
787
788         Fix 32-bit builds.
789
790         * platform/graphics/ShadowBlur.cpp:
791         (WebCore::ShadowBlur::blurLayerImage):
792
793 2011-02-03  Mikhail Naganov  <mnaganov@chromium.org>
794
795         Reviewed by Pavel Feldman.
796
797         Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
798         https://bugs.webkit.org/show_bug.cgi?id=53592
799
800         In JSC there is no limit, thus 'undefined' value is returned.
801         For V8, the limit reported by the VM is returned.
802
803         * Android.jscbindings.mk:
804         * CMakeLists.txt:
805         * GNUmakefile.am:
806         * WebCore.gypi:
807         * WebCore.pro:
808         * WebCore.vcproj/WebCore.vcproj:
809         * WebCore.xcodeproj/project.pbxproj:
810         * bindings/js/JSBindingsAllInOne.cpp:
811         * bindings/js/JSMemoryInfoCustom.cpp: Added.
812         * bindings/js/ScriptGCEvent.cpp:
813         (WebCore::ScriptGCEvent::getHeapSize):
814         * bindings/js/ScriptGCEvent.h:
815         * bindings/v8/ScriptGCEvent.cpp:
816         (WebCore::ScriptGCEvent::getHeapSize):
817         * bindings/v8/ScriptGCEvent.h:
818         * inspector/InspectorTimelineAgent.cpp:
819         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
820         * page/MemoryInfo.cpp:
821         (WebCore::MemoryInfo::MemoryInfo):
822         * page/MemoryInfo.h:
823         (WebCore::MemoryInfo::jsHeapSizeLimit):
824         * page/MemoryInfo.idl:
825
826 2011-01-27  Philippe Normand  <pnormand@igalia.com>
827
828         Reviewed by Martin Robinson.
829
830         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
831         https://bugs.webkit.org/show_bug.cgi?id=53125
832
833         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
834         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
835
836 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
837
838         Reviewed by Sam Weinig.
839
840         ShadowBlur radius for CSS shadows is slightly too big
841         https://bugs.webkit.org/show_bug.cgi?id=53660
842         
843         If we follow SVG gaussian blur for CSS shadows, we can end up rendering
844         shadows that extend further than the CSS "blur radius", which results
845         in the shadows being truncated.
846         
847         Fix with a small fudge factor to reduce the kernel diameter slightly
848         for CSS shadows.
849         
850         Also more closely follow the algorithm described in the SVG spec
851         for computing the kernel size for different diameters, and clean up
852         some variable naming relating to the shadow bounds.
853
854         * platform/graphics/ShadowBlur.cpp:
855         (WebCore::ShadowBlur::blurLayerImage):
856         (WebCore::ShadowBlur::drawRectShadowWithTiling):
857
858 2011-02-01  Pavel Podivilov  <podivilov@chromium.org>
859
860         Reviewed by Pavel Feldman.
861
862         Web Inspector: introduce new api for managing JavaScript breakpoints.
863         https://bugs.webkit.org/show_bug.cgi?id=53235
864
865         Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
866         removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
867         Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
868
869         SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
870         JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
871
872         * bindings/js/ScriptDebugServer.cpp:
873         (WebCore::ScriptDebugServer::setBreakpoint):
874         (WebCore::ScriptDebugServer::removeBreakpoint):
875         * bindings/js/ScriptDebugServer.h:
876         * bindings/v8/DebuggerScript.js:
877         ():
878         * bindings/v8/ScriptDebugServer.cpp:
879         (WebCore::ScriptDebugServer::setBreakpoint):
880         * bindings/v8/ScriptDebugServer.h:
881         * inspector/Inspector.idl:
882         * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
883         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
884         (WebCore::InspectorAgent::populateScriptObjects):
885         (WebCore::InspectorAgent::restoreDebugger):
886         (WebCore::InspectorAgent::showAndEnableDebugger):
887         (WebCore::InspectorAgent::enableDebugger):
888         * inspector/InspectorAgent.h:
889         * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
890         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
891         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
892         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
893         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
894         (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
895         (WebCore::InspectorDebuggerAgent::continueToLocation):
896         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
897         (WebCore::InspectorDebuggerAgent::getScriptSource):
898         (WebCore::InspectorDebuggerAgent::didParseSource):
899         (WebCore::InspectorDebuggerAgent::didPause):
900         * inspector/InspectorDebuggerAgent.h:
901         (WebCore::InspectorDebuggerAgent::Script::Script):
902         * inspector/InspectorValues.cpp:
903         (WebCore::InspectorValue::asNumber):
904         (WebCore::InspectorBasicValue::asNumber):
905         (WebCore::InspectorObject::remove):
906         * inspector/InspectorValues.h:
907         (WebCore::InspectorObject::getNumber):
908         (WebCore::InspectorObject::find):
909         * inspector/ScriptBreakpoint.h:
910         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
911         * inspector/front-end/Breakpoint.js:
912         (WebInspector.Breakpoint):
913         (WebInspector.Breakpoint.prototype.addLocation):
914         * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
915         (WebInspector.BreakpointManager):
916         (WebInspector.BreakpointManager.prototype._projectChanged):
917         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
918         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
919         * inspector/front-end/BreakpointsSidebarPane.js:
920         (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
921         * inspector/front-end/DebuggerModel.js:
922         (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
923         * inspector/front-end/Script.js:
924         (WebInspector.Script.prototype.sourceLine):
925         * inspector/front-end/ScriptsPanel.js:
926         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
927         * inspector/front-end/Settings.js:
928         (WebInspector.Settings):
929         * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
930         * inspector/front-end/inspector.js:
931
932 2011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>
933
934         Reviewed by Dirk Schulze.
935
936         small text which is scaled to be large renders pixelated
937         https://bugs.webkit.org/show_bug.cgi?id=12448
938
939         SVG <text> with font-size smaller or equal to 1 does not paint correctly
940         https://bugs.webkit.org/show_bug.cgi?id=14242
941
942         misplaced text in SVG
943         https://bugs.webkit.org/show_bug.cgi?id=17053
944
945         Don't render very small (but zoomed) text inside SVG
946         https://bugs.webkit.org/show_bug.cgi?id=19393
947
948         Tiny fonts scaled up end up too large in Safari
949         https://bugs.webkit.org/show_bug.cgi?id=20192
950
951         Stretched SVG Text has awful glyph spacing 
952         https://bugs.webkit.org/show_bug.cgi?id=21774
953
954         REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
955         https://bugs.webkit.org/show_bug.cgi?id=49846
956
957         [Gtk] Text height in zoomed SVG is 1px too high
958         https://bugs.webkit.org/show_bug.cgi?id=50313
959
960         SVG text smaller than 0.5px not displayed properly
961         https://bugs.webkit.org/show_bug.cgi?id=50528
962
963         When rendering text, we're selecting a font with a size, as specified in the markup.
964         This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
965         element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
966         problem becomes apparent.
967
968         Consider following two snippets, which should render exactly the same:
969         <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
970         <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
971
972         When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
973         which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
974         Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
975
976         To fix this in a cross-platform fashion, we now always compute the final font size on screen,
977         remove any scaling from the context, draw the text using the scaled font size, then reapply
978         the context scale. This makes the example snippets above render exactly the same and fixes
979         numerous of bugs, present since years. As we're now heavily using floating-point font sizes
980         internally, depending on the scale of the document, it's very important to use the new
981         floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
982
983         Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
984                               svg/hixie/text/003.html (no more pixelation)
985                               svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
986                               svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
987                               svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
988
989         Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
990                svg/text/font-size-below-point-five.svg (reduction from bug 50528)
991                svg/text/scaled-font.svg (reduction from bug 12448)
992                svg/text/small-fonts-2.svg (reduction from bug 14242)
993                svg/text/small-fonts-3.svg (reduction from bug 17053)
994                svg/text/small-fonts-in-html5.html (reduction from bug 19393)
995                svg/text/small-fonts.svg (reduction from bug 20192))
996
997         * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
998         * rendering/svg/RenderSVGInlineText.h:
999         * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
1000         * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
1001         * rendering/svg/SVGInlineTextBox.h:
1002         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
1003         * rendering/svg/SVGTextMetrics.cpp: Ditto.
1004         * rendering/svg/SVGTextMetrics.h: Ditto.
1005         * rendering/svg/SVGTextQuery.cpp: Ditto.
1006         * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
1007         * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
1008         * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
1009         * svg/SVGTextPositioningElement.h: 
1010
1011 2011-02-03  Pavel Feldman  <pfeldman@chromium.org>
1012
1013         Reviewed by Yury Semikhatsky.
1014
1015         Web Inspector: resources panel doesn't show frames after reload.
1016         https://bugs.webkit.org/show_bug.cgi?id=53430
1017
1018         * inspector/front-end/ResourcesPanel.js:
1019         (WebInspector.ResourcesPanel.prototype.show):
1020         (WebInspector.ResourcesPanel.prototype.loadEventFired):
1021         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
1022         (WebInspector.ResourcesPanel.prototype.reset):
1023         (WebInspector.ResourcesPanel.prototype.clear):
1024         * inspector/front-end/inspector.js:
1025         (WebInspector.loadEventFired):
1026
1027 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
1028
1029         Reviewed by Pavel Feldman.
1030
1031         Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
1032         https://bugs.webkit.org/show_bug.cgi?id=53492
1033
1034         * inspector/Inspector.idl:
1035         * inspector/InspectorCSSAgent.cpp:
1036         (WebCore::InspectorCSSAgent::getStylesForNode):
1037         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1038         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1039         (WebCore::InspectorCSSAgent::getAllStyles):
1040         (WebCore::InspectorCSSAgent::getStyleSheet):
1041         (WebCore::InspectorCSSAgent::getStyleSheetText):
1042         (WebCore::InspectorCSSAgent::setStyleSheetText):
1043         (WebCore::InspectorCSSAgent::setPropertyText):
1044         (WebCore::InspectorCSSAgent::toggleProperty):
1045         (WebCore::InspectorCSSAgent::setRuleSelector):
1046         (WebCore::InspectorCSSAgent::addRule):
1047         * inspector/InspectorCSSAgent.h:
1048         * inspector/front-end/AuditRules.js:
1049         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1050         * inspector/front-end/CSSStyleModel.js:
1051         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1052         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1053         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1054         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1055         (WebInspector.CSSStyleModel.prototype.addRule):
1056         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1057         (WebInspector.CSSStyleModel.prototype._onRevert):
1058         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1059         (WebInspector.CSSProperty.prototype.setText):
1060         (WebInspector.CSSProperty.prototype.setDisabled):
1061         (WebInspector.CSSStyleSheet.createForId):
1062         (WebInspector.CSSStyleSheet.prototype.setText):
1063
1064 2011-02-03  Adam Barth  <abarth@webkit.org>
1065
1066         Reviewed by Daniel Bates.
1067
1068         Teach XSSFilter about data URLs
1069         https://bugs.webkit.org/show_bug.cgi?id=53662
1070
1071         The XSS filter doesn't really make sense for data URLs because
1072         everything in a "response" from a data URL was part of the request.
1073
1074         Test: http/tests/security/xssAuditor/data-urls-work.html
1075
1076         * html/parser/XSSFilter.cpp:
1077         (WebCore::XSSFilter::init):
1078         (WebCore::XSSFilter::filterToken):
1079
1080 2011-02-02  Chris Evans  <cevans@chromium.org>
1081
1082         Reviewed by Darin Fisher.
1083
1084         window.find() can fail when switching case sensitivity
1085         https://bugs.webkit.org/show_bug.cgi?id=53654
1086
1087         Reset the pattern to a safe one when done, to avoid usearch_reset()
1088         indirectly touching the old, stale text pointer.
1089
1090         Test: fast/text/find-window.html
1091
1092         * editing/TextIterator.cpp:
1093         (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
1094
1095 2011-02-02  Adam Barth  <abarth@webkit.org>
1096
1097         Reviewed by Daniel Bates.
1098
1099         Teach XSSFilter that <param> elements can contain URLs
1100         https://bugs.webkit.org/show_bug.cgi?id=53652
1101
1102         When loading plugins for the <object> tag, we're "smart" enough to
1103         reach into the <param> elements and pull out the URL in some cases.
1104         This patch teaches the XSSFilter how to block injections into those
1105         sorts of param elements.
1106
1107         Fixes:
1108             http/tests/security/xssAuditor/object-*
1109
1110         * html/HTMLParamElement.cpp:
1111         (WebCore::HTMLParamElement::isURLParameter):
1112         (WebCore::HTMLParamElement::isURLAttribute):
1113         (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1114         * html/HTMLParamElement.h:
1115             - Add a helper function so that HTMLParamElement can share the
1116               ground truth for these names with the XSSFilter.
1117         * html/parser/XSSFilter.cpp:
1118         (WebCore::XSSFilter::filterTokenInitial):
1119         (WebCore::XSSFilter::filterParamToken):
1120         * html/parser/XSSFilter.h:
1121
1122 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1123
1124         Reviewed by David Levin.
1125
1126         GCC compiler on ARM issues bogus warnings and fails to compile.
1127         https://bugs.webkit.org/show_bug.cgi?id=53620
1128
1129         Despite warnings explicitly being disallowed (-Wno-uninitialized),
1130         gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
1131
1132         "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
1133
1134         The fix is to add an extra condition, which somehow pacifies the compiler.
1135
1136         * css/CSSPrimitiveValue.cpp:
1137         (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
1138
1139 2011-02-02  Adam Barth  <abarth@webkit.org>
1140
1141         Reviewed by Daniel Bates.
1142
1143         Teach XSSFilter about X-XSS-Protection
1144         https://bugs.webkit.org/show_bug.cgi?id=53640
1145
1146         This patch causes us to pass:
1147             http/tests/security/xssAuditor/full-block-*
1148             http/tests/security/xssAuditor/no-protection-script-tag.html
1149
1150         * html/parser/XSSFilter.cpp:
1151         (WebCore::XSSFilter::XSSFilter):
1152         (WebCore::XSSFilter::init):
1153         (WebCore::XSSFilter::filterToken):
1154         * html/parser/XSSFilter.h:
1155
1156 2011-02-02  Adam Barth  <abarth@webkit.org>
1157
1158         Reviewed by Daniel Bates.
1159
1160         When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
1161         instead of the empty string
1162         https://bugs.webkit.org/show_bug.cgi?id=53643
1163
1164         In a URL context, the empty string completes to the URL of the current
1165         page, which causes these tests to go into an infinite loop.  Instead,
1166         we should use a "safe" JavaScript URL that does nothing.
1167
1168         Fixes:
1169             http/tests/security/xssAuditor/javascript-link*
1170
1171         * html/parser/XSSFilter.cpp:
1172         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1173
1174 2011-02-02  Dan Bernstein  <mitz@apple.com>
1175
1176         Reviewed by Sam Weinig.
1177
1178         <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
1179         https://bugs.webkit.org/show_bug.cgi?id=44942
1180
1181         Test: fast/text/bidi-embedding-pop-and-push-same-2.html
1182
1183         * platform/text/BidiResolver.h:
1184         (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
1185         a change to embedding levels.
1186         (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
1187         the explicit embedding sequence, then runs were not added, and we should continue normally.
1188
1189 2011-02-02  Sam Weinig  <sam@webkit.org>
1190
1191         Reviewed by Dan Bernstein.
1192
1193         Fix miscalculation of the overhang area used for painting. We were
1194         not correctly accounting for scrollbars resulting in an non-negative
1195         overhang even when we weren't over the edge.
1196
1197         * platform/ScrollView.cpp:
1198         (WebCore::ScrollView::calculateOverhangAreasForPainting):
1199
1200 2011-02-02  Jeremy Orlow  <jorlow@chromium.org>
1201
1202         Reviewed by Nate Chapin.
1203
1204         IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
1205         https://bugs.webkit.org/show_bug.cgi?id=52722
1206
1207         The solution is to change ScriptExecutionContext's destructor to iterate over
1208         the list in a way that handles the mutations. This new method is destructive,
1209         but that's OK since the object is going away. I've also added a several asserts.
1210
1211         There should be no behavior change.
1212
1213         * dom/ScriptExecutionContext.cpp:
1214         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1215         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1216         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1217         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1218         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1219         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1220         (WebCore::ScriptExecutionContext::createdActiveDOMObject):
1221         (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
1222         * dom/ScriptExecutionContext.h:
1223         * storage/IDBTransaction.cpp:
1224         (WebCore::IDBTransaction::contextDestroyed):
1225         * storage/IDBTransaction.h:
1226
1227 2011-02-02  Mark Rowe  <mrowe@apple.com>
1228
1229         Build fix.
1230
1231         * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
1232         * platform/mac/ScrollbarThemeMac.mm:
1233         (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
1234         up in the HashMap rather than relying on a local variable that doesn't
1235         exist.
1236
1237 2011-02-02  Adam Barth  <abarth@webkit.org>
1238
1239         Reviewed by Daniel Bates.
1240
1241         Teach XSSFilter about JavaScript URLs
1242         https://bugs.webkit.org/show_bug.cgi?id=53635
1243
1244         This patch teaches the XSSFilter to check for JavaScript URLs in
1245         attribute values.  If this approach has too many false positives, we
1246         can restrict which attribute names we examine.
1247
1248         Fixes these tests:
1249             http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
1250             http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
1251             http/tests/security/xssAuditor/iframe-javascript-url*
1252
1253         * html/parser/XSSFilter.cpp:
1254         (WebCore::HTMLNames::containsJavaScriptURL):
1255         (WebCore::XSSFilter::filterTokenInitial):
1256         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1257         * html/parser/XSSFilter.h:
1258
1259 2011-02-02  Dan Bernstein  <mitz@apple.com>
1260
1261         Reviewed by Sam Weinig, even though this is just a...
1262
1263         ...build fix.
1264
1265         * platform/mac/ScrollAnimatorMac.mm:
1266         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1267
1268 2011-02-02  Mark Rowe  <mrowe@apple.com>
1269
1270         Reviewed by Beth Dakin.
1271
1272         <rdar://problem/8952012> Crash on launch inside scrollbar code.
1273
1274         We need to ensure that we remove ourselves as the delegates of objects when we're going
1275         away as failing to do this can lead to crashes if the lifetime of the other objects
1276         is longer than ours.
1277
1278         * platform/mac/ScrollAnimatorMac.mm:
1279         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1280         * platform/mac/ScrollbarThemeMac.mm:
1281         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1282
1283 2011-02-02  Beth Dakin  <bdakin@apple.com>
1284
1285         Build fix.
1286
1287         * WebCore.exp.in:
1288
1289 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
1290
1291         Unreviewed WinCE build fix for r77397.
1292
1293         * page/wince/FrameWinCE.cpp:
1294         (WebCore::computePageRectsForFrame):
1295
1296 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
1297
1298         Unreviewed WinCE build fix for r77398.
1299
1300         * platform/graphics/wince/PlatformPathWinCE.cpp:
1301         (WebCore::containsPoint):
1302         (WebCore::inflateRectToContainPoint):
1303         (WebCore::PlatformPath::addRect):
1304         * platform/graphics/wince/SharedBitmap.cpp:
1305         (WebCore::SharedBitmap::drawPattern):
1306         * rendering/RenderThemeWinCE.cpp:
1307         (WebCore::RenderThemeWinCE::paintMenuListButton):
1308         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1309         (WebCore::RenderThemeWinCE::paintSliderTrack):
1310         (WebCore::RenderThemeWinCE::paintMediaMuteButton):
1311         (WebCore::RenderThemeWinCE::paintMediaPlayButton):
1312         (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
1313         (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
1314
1315 2011-02-02  Jian Li  <jianli@chromium.org>
1316
1317         Reviewed by Kenneth Russell.
1318
1319         [V8] Accessing DataView with index of -1 returns 0, doesn't throw
1320         https://bugs.webkit.org/show_bug.cgi?id=53559
1321
1322         Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
1323
1324         * html/canvas/DataView.h:
1325         (WebCore::DataView::beyondRange):
1326
1327 2011-02-02  Sam Weinig  <sam@webkit.org>
1328
1329         Reviewed by Beth Dakin.
1330
1331         Add ChromeClient function to paint custom overhang areas.
1332         https://bugs.webkit.org/show_bug.cgi?id=53639
1333
1334         * page/Chrome.cpp:
1335         (WebCore::ChromeClient::paintCustomOverhangArea):
1336         * page/ChromeClient.h:
1337         Add ChromeClient function.
1338
1339         * page/FrameView.cpp:
1340         (WebCore::FrameView::paintOverhangAreas):
1341         * page/FrameView.h:
1342         Call out the the ChromeClient, call ScrollView base implementation
1343         if the ChromeClient returns false.
1344
1345         * platform/ScrollView.cpp:
1346         (WebCore::ScrollView::paintOverhangAreas):
1347         * platform/ScrollView.h:
1348         Add dirty rect for use when painting overhang areas.
1349
1350 2011-02-02  Peter Kasting  <pkasting@google.com>
1351
1352         Not reviewed, build fix.
1353
1354         Fix compile after r77427.
1355         https://bugs.webkit.org/show_bug.cgi?id=53455
1356
1357         * platform/graphics/qt/ImageDecoderQt.cpp:
1358         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1359         * platform/image-decoders/ImageDecoder.cpp:
1360         (WebCore::ImageFrame::operator=):
1361         * platform/image-decoders/bmp/BMPImageReader.cpp:
1362         (WebCore::BMPImageReader::decodeBMP):
1363         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1364         (WebCore::JPEGImageDecoder::outputScanlines):
1365         * platform/image-decoders/png/PNGImageDecoder.cpp:
1366         (WebCore::PNGImageDecoder::rowAvailable):
1367         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1368         (WebCore::WEBPImageDecoder::decode):
1369
1370 2011-02-02  Peter Kasting  <pkasting@google.com>
1371
1372         Reviewed by David Levin.
1373
1374         Clean up ImageDecoder's comments (remove/trim/clarify).
1375         https://bugs.webkit.org/show_bug.cgi?id=53455
1376
1377         This also renames or eliminates a couple of functions for clarity, and
1378         switches a couple erroneous strncmp() calls to memcmp().
1379
1380         * platform/image-decoders/ImageDecoder.cpp:
1381         (WebCore::ImageDecoder::create):
1382         (WebCore::ImageFrame::clearPixelData):
1383         (WebCore::ImageFrame::zeroFillPixelData):
1384         (WebCore::ImageFrame::setSize):
1385         * platform/image-decoders/ImageDecoder.h:
1386         (WebCore::ImageFrame::originalFrameRect):
1387         (WebCore::ImageFrame::setOriginalFrameRect):
1388         (WebCore::ImageDecoder::ImageDecoder):
1389         (WebCore::ImageDecoder::~ImageDecoder):
1390         (WebCore::ImageDecoder::isSizeAvailable):
1391         (WebCore::ImageDecoder::size):
1392         (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
1393         (WebCore::ImageDecoder::clearFrameBufferCache):
1394         (WebCore::ImageDecoder::isOverSize):
1395         * platform/image-decoders/bmp/BMPImageReader.cpp:
1396         (WebCore::BMPImageReader::processNonRLEData):
1397         * platform/image-decoders/cg/ImageDecoderCG.cpp:
1398         (WebCore::ImageFrame::setSize):
1399         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1400         (WebCore::GIFImageDecoder::clearFrameBufferCache):
1401         (WebCore::GIFImageDecoder::frameComplete):
1402         (WebCore::GIFImageDecoder::initFrameBuffer):
1403         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1404         * platform/image-decoders/qt/ImageFrameQt.cpp:
1405         (WebCore::ImageFrame::operator=):
1406         (WebCore::ImageFrame::clearPixelData):
1407         (WebCore::ImageFrame::zeroFillPixelData):
1408         (WebCore::ImageFrame::setSize):
1409         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1410         (WebCore::ImageFrame::operator=):
1411         (WebCore::ImageFrame::clearPixelData):
1412         (WebCore::ImageFrame::zeroFillPixelData):
1413         (WebCore::ImageFrame::setSize):
1414         * platform/image-decoders/webp/WEBPImageDecoder.h:
1415
1416 2011-02-02  Vangelis Kokkevis  <vangelis@chromium.org>
1417
1418         [chromium] Adding support for reflections to the accelerated
1419         compositing path.
1420         https://bugs.webkit.org/show_bug.cgi?id=53179
1421
1422         All layout tests in compositing/reflections generate correct
1423         results with the exception of:
1424         1. nested-reflection-anchor-point.html : There appears to be
1425            some issue with the layer transform math that I haven't been
1426            able to track down yet.
1427         2. reflection-opacity.html : The current implementation applies
1428            opacity before doing the reflection which makes this test
1429            produce incorrect results.  This will affect reflected layers
1430            with opacity that overlap their original layer.  FIXME comment
1431            added in the code.
1432
1433         Tests: Covered by existing layout tests in compositing/reflections.
1434                Please see above for exceptions.
1435
1436         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1437         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1438         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1439         * platform/graphics/chromium/GraphicsLayerChromium.h:
1440         * platform/graphics/chromium/LayerChromium.cpp:
1441         (WebCore::LayerChromium::LayerChromium):
1442         * platform/graphics/chromium/LayerChromium.h:
1443         (WebCore::LayerChromium::setReplicaLayer):
1444         (WebCore::LayerChromium::replicaLayer):
1445         * platform/graphics/chromium/LayerRendererChromium.cpp:
1446         (WebCore::LayerRendererChromium::updateLayersRecursive):
1447         (WebCore::LayerRendererChromium::drawLayer):
1448         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1449         (WebCore::RenderSurfaceChromium::drawableContentRect):
1450         (WebCore::RenderSurfaceChromium::drawSurface):
1451         (WebCore::RenderSurfaceChromium::draw):
1452         * platform/graphics/chromium/RenderSurfaceChromium.h:
1453         (WebCore::RenderSurfaceChromium::drawTransform):
1454
1455 2011-02-02  Xiyuan Xia  <xiyuan@chromium.org>
1456
1457         Reviewed by Tony Chang.
1458
1459         [Chromium] Select popup with padding has white strip on right
1460         https://bugs.webkit.org/show_bug.cgi?id=53602
1461
1462         No new tests as this change restores old behavior.
1463
1464         * platform/chromium/PopupMenuChromium.cpp:
1465         (WebCore::PopupListBox::layout):
1466
1467 2011-02-02  Beth Dakin  <bdakin@apple.com>
1468
1469         Reviewed by Mark Rowe.
1470
1471         Fix for <rdar://problem/8950343> CrashTracer: [USER]
1472         1 crash in WebProcess at com.apple.WebCore: 
1473         WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
1474
1475         It is possible for a Scrollbar's ScrollableArea to be null,
1476         so we must null check.
1477         * platform/mac/ScrollbarThemeMac.mm:
1478         (WebCore::ScrollbarThemeMac::registerScrollbar):
1479         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1480
1481 2011-02-02  Zhenyao Mo  <zmo@google.com>
1482
1483         Reviewed by Kenneth Russell.
1484
1485         bufferData and bufferSubData should generate INVALID_VALUE with negative input
1486         https://bugs.webkit.org/show_bug.cgi?id=53626
1487
1488         * html/canvas/WebGLRenderingContext.cpp:
1489         (WebCore::WebGLRenderingContext::bufferData):
1490         (WebCore::WebGLRenderingContext::bufferSubData):
1491
1492 2011-02-02  Jeff Miller  <jeffm@apple.com>
1493
1494         Reviewed by Darin Adler and Steve Falkenburg.
1495
1496         Add DerivedSources.make to some Visual Studio projects
1497         https://bugs.webkit.org/show_bug.cgi?id=53607
1498
1499         * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
1500
1501 2011-02-02  Cris Neckar  <cdn@chromium.org>
1502
1503         Reviewed by James Robinson.
1504
1505         Refcount domwindows when dispatching device orientation events.
1506         https://bugs.webkit.org/show_bug.cgi?id=53623
1507
1508         Test: fast/events/device-orientation-crash.html
1509
1510         * dom/DeviceMotionController.cpp:
1511         (WebCore::DeviceMotionController::timerFired):
1512         (WebCore::DeviceMotionController::didChangeDeviceMotion):
1513         * dom/DeviceMotionController.h:
1514         * dom/DeviceOrientationController.cpp:
1515         (WebCore::DeviceOrientationController::timerFired):
1516         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1517         * dom/DeviceOrientationController.h:
1518
1519 2011-02-02  Zhenyao Mo  <zmo@google.com>
1520
1521         Reviewed by Kenneth Russell.
1522
1523         A deleted object should never been bound again
1524         https://bugs.webkit.org/show_bug.cgi?id=53604
1525
1526         * html/canvas/WebGLRenderingContext.cpp:
1527         (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
1528         (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
1529         (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
1530         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1531         (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
1532         (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
1533         (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
1534         (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
1535         (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
1536         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
1537         (WebCore::WebGLRenderingContext::deleteShader): Ditto.
1538         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
1539         (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
1540         * html/canvas/WebGLRenderingContext.h:
1541         * html/canvas/WebGLTexture.h:
1542         (WebCore::WebGLTexture::getTarget): Accessor to cached target.
1543
1544 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1545
1546         Unreviewed Efl buildfix after r77399.
1547
1548         * CMakeListsEfl.txt:
1549
1550 2011-02-02  Kenneth Russell  <kbr@google.com>
1551
1552         Reviewed by James Robinson.
1553
1554         Rename Typed Array subset to subarray
1555         https://bugs.webkit.org/show_bug.cgi?id=53618
1556
1557         * html/canvas/Float32Array.cpp:
1558         (WebCore::Float32Array::subarray):
1559         * html/canvas/Float32Array.h:
1560         * html/canvas/Float32Array.idl:
1561         * html/canvas/Int16Array.cpp:
1562         (WebCore::Int16Array::subarray):
1563         * html/canvas/Int16Array.h:
1564         * html/canvas/Int16Array.idl:
1565         * html/canvas/Int32Array.cpp:
1566         (WebCore::Int32Array::subarray):
1567         * html/canvas/Int32Array.h:
1568         * html/canvas/Int32Array.idl:
1569         * html/canvas/Int8Array.cpp:
1570         (WebCore::Int8Array::subarray):
1571         * html/canvas/Int8Array.h:
1572         * html/canvas/Int8Array.idl:
1573         * html/canvas/TypedArrayBase.h:
1574         (WebCore::TypedArrayBase::subarrayImpl):
1575         * html/canvas/Uint16Array.cpp:
1576         (WebCore::Uint16Array::subarray):
1577         * html/canvas/Uint16Array.h:
1578         * html/canvas/Uint16Array.idl:
1579         * html/canvas/Uint32Array.cpp:
1580         (WebCore::Uint32Array::subarray):
1581         * html/canvas/Uint32Array.h:
1582         * html/canvas/Uint32Array.idl:
1583         * html/canvas/Uint8Array.cpp:
1584         (WebCore::Uint8Array::subarray):
1585         * html/canvas/Uint8Array.h:
1586         * html/canvas/Uint8Array.idl:
1587
1588 2011-02-02  Adam Barth  <abarth@webkit.org>
1589
1590         Reviewed by Eric Seidel.
1591
1592         Add an empty file for Content Security Policy
1593         https://bugs.webkit.org/show_bug.cgi?id=53573
1594
1595         Posting this as a separate patch because editing the build files is so
1596         painful.
1597
1598         * Android.mk:
1599         * CMakeLists.txt:
1600         * GNUmakefile.am:
1601         * WebCore.gypi:
1602         * WebCore.pro:
1603         * WebCore.vcproj/WebCore.vcproj:
1604         * WebCore.xcodeproj/project.pbxproj:
1605
1606 2011-02-02  Dan Winship  <danw@gnome.org>
1607
1608         Reviewed by Martin Robinson.
1609
1610         [GTK] remove old data: URI handler, fix the SoupRequest-based one
1611         to pass tests
1612         https://bugs.webkit.org/show_bug.cgi?id=50885
1613
1614         * platform/network/soup/ResourceHandleSoup.cpp:
1615         (WebCore::sendRequestCallback): Do content-type sniffing here for
1616         non-HTTP requests.
1617         (WebCore::startHTTPRequest): Rename to match WebKit style.
1618         (WebCore::ResourceHandle::start): Pass everything except HTTP to
1619         startNonHTTPRequest, letting the SoupRequester decide whether it's
1620         supported or not.
1621         (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1622         code that was a no-op for file: URIs, but would break some data:
1623         URIs.
1624
1625 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1626
1627         Update even more references to right() and bottom() in Chromium. Sheesh.
1628
1629         * platform/graphics/chromium/LayerRendererChromium.cpp:
1630         (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1631
1632 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1633
1634         Unreviewed Gtk3 buildfix after r77286.
1635
1636         https://bugs.webkit.org/show_bug.cgi?id=53520
1637         Remove the physical terminology from IntRect and FloatRect.
1638
1639         * platform/gtk/RenderThemeGtk3.cpp:
1640         (WebCore::RenderThemeGtk::paintMenuList):
1641
1642 2011-02-02  Anders Carlsson  <andersca@apple.com>
1643
1644         Fix build.
1645
1646         * platform/mac/ScrollAnimatorMac.mm:
1647         (WebCore::ScrollAnimatorMac::pinnedInDirection):
1648
1649 2011-02-02  David Hyatt  <hyatt@apple.com>
1650
1651         Reviewed by Dan Bernstein.
1652
1653         https://bugs.webkit.org/show_bug.cgi?id=53619
1654
1655         Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1656         with maxX/maxY.  This matches IntRect.
1657
1658         * rendering/RenderBlock.cpp:
1659         (WebCore::RenderBlock::addOverflowFromFloats):
1660         (WebCore::RenderBlock::flipFloatForWritingMode):
1661         (WebCore::RenderBlock::paintFloats):
1662         (WebCore::RenderBlock::selectionGaps):
1663         (WebCore::RenderBlock::addOverhangingFloats):
1664         (WebCore::RenderBlock::addIntrudingFloats):
1665         (WebCore::RenderBlock::hitTestFloats):
1666         (WebCore::RenderBlock::adjustForBorderFit):
1667         * rendering/RenderBlock.h:
1668         (WebCore::RenderBlock::FloatingObject::x):
1669         (WebCore::RenderBlock::FloatingObject::maxX):
1670         (WebCore::RenderBlock::FloatingObject::y):
1671         (WebCore::RenderBlock::FloatingObject::maxY):
1672         (WebCore::RenderBlock::FloatingObject::setX):
1673         (WebCore::RenderBlock::FloatingObject::setY):
1674         (WebCore::RenderBlock::logicalTopForFloat):
1675         (WebCore::RenderBlock::logicalBottomForFloat):
1676         (WebCore::RenderBlock::logicalLeftForFloat):
1677         (WebCore::RenderBlock::logicalRightForFloat):
1678         (WebCore::RenderBlock::setLogicalTopForFloat):
1679         (WebCore::RenderBlock::setLogicalLeftForFloat):
1680         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1681         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1682
1683 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1684
1685         Update more references to right() and bottom() in Chromium Win.
1686
1687         * platform/graphics/chromium/TransparencyWin.cpp:
1688         (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1689         (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1690         * rendering/RenderThemeChromiumWin.cpp:
1691         (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1692
1693 2011-02-02  Adam Roben  <aroben@apple.com>
1694
1695         Encode/decode FormData and FormDataElement objects consistently
1696
1697         Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1698         that contains form data fails (asserts in Debug build)
1699
1700         To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1701         now, even though we don't have an automated test for it yet. Writing a test is covered by
1702         <http://webkit.org/b/53616>.
1703
1704         Reviewed by Darin Adler.
1705
1706         * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1707         FormData objects.
1708
1709         * platform/network/FormData.cpp:
1710         (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1711         default-constructed FormDataElement. Failing to do this meant that all future uses of the
1712         Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1713         start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1714         to correctly set the FormDataElement's type based on this decoded type later in the
1715         function.
1716         (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1717         matches its type and how we decode it.
1718
1719 2011-02-02  Dan Winship  <danw@gnome.org>
1720
1721         Reviewed by Martin Robinson.
1722
1723         [GTK] drop soup cache stuff, which has been moved to libsoup
1724         https://bugs.webkit.org/show_bug.cgi?id=50747
1725
1726         Use libsoup-based cache/requester API and remove the WebCore version
1727         of this functionality. This has been pushed upstream fully.
1728
1729         No new tests because this should not change functionality.
1730
1731         * GNUmakefile.am: Update for removed files.
1732         * platform/network/ResourceHandleInternal.h:
1733         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1734         type names, drop m_requester.
1735         * platform/network/soup/ResourceHandleSoup.cpp:
1736         (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1737         session.
1738         (WebCore::parseDataUrl):
1739         (WebCore::startHttp): Get the requester from the session rather
1740         than using m_requester.
1741         (WebCore::sendRequestCallback):
1742         (WebCore::ResourceHandle::platformSetDefersLoading):
1743         (WebCore::readCallback):
1744         (WebCore::startGio): Update type names.
1745         * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1746         * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1747         * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1748         * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1749         * platform/network/soup/cache/soup-request-data.c: Removed.
1750         * platform/network/soup/cache/soup-request-data.h: Removed.
1751         * platform/network/soup/cache/soup-request-file.c: Removed.
1752         * platform/network/soup/cache/soup-request-file.h: Removed.
1753         * platform/network/soup/cache/soup-request-http.c: Removed.
1754         * platform/network/soup/cache/soup-request-http.h: Removed.
1755         * platform/network/soup/cache/soup-request.c: Removed.
1756         * platform/network/soup/cache/soup-request.h: Removed.
1757         * platform/network/soup/cache/soup-requester.c: Removed.
1758         * platform/network/soup/cache/soup-requester.h: Removed.
1759         * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1760         * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1761         * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1762
1763 2011-02-02  David Hyatt  <hyatt@apple.com>
1764
1765         Reviewed by Darin Adler.
1766
1767         https://bugs.webkit.org/show_bug.cgi?id=53520
1768
1769         Remove physical accessors from IntRect and FloatRect.
1770
1771         * page/FrameView.cpp:
1772         (WebCore::FrameView::adjustPageHeightDeprecated):
1773         * platform/graphics/FloatRect.h:
1774         * platform/graphics/IntRect.h:
1775
1776 2011-02-02  David Hyatt  <hyatt@apple.com>
1777
1778         Reviewed by Dan Bernstein.
1779
1780         https://bugs.webkit.org/show_bug.cgi?id=53614
1781
1782         Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
1783
1784         * rendering/InlineFlowBox.cpp:
1785         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1786         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1787         * rendering/InlineFlowBox.h:
1788         (WebCore::InlineFlowBox::minYLayoutOverflow):
1789         (WebCore::InlineFlowBox::maxYLayoutOverflow):
1790         (WebCore::InlineFlowBox::minXLayoutOverflow):
1791         (WebCore::InlineFlowBox::maxXLayoutOverflow):
1792         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1793         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1794         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1795         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1796         (WebCore::InlineFlowBox::minYVisualOverflow):
1797         (WebCore::InlineFlowBox::maxYVisualOverflow):
1798         (WebCore::InlineFlowBox::minXVisualOverflow):
1799         (WebCore::InlineFlowBox::maxXVisualOverflow):
1800         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1801         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1802         (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1803         (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1804         * rendering/RenderBlock.cpp:
1805         (WebCore::RenderBlock::adjustLinePositionForPagination):
1806         * rendering/RenderBlockLineLayout.cpp:
1807         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1808         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1809         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1810         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1811         * rendering/RenderBox.cpp:
1812         (WebCore::RenderBox::scrollWidth):
1813         (WebCore::RenderBox::scrollHeight):
1814         * rendering/RenderBox.h:
1815         (WebCore::RenderBox::minYLayoutOverflow):
1816         (WebCore::RenderBox::maxYLayoutOverflow):
1817         (WebCore::RenderBox::minXLayoutOverflow):
1818         (WebCore::RenderBox::maxXLayoutOverflow):
1819         (WebCore::RenderBox::logicalLeftLayoutOverflow):
1820         (WebCore::RenderBox::logicalRightLayoutOverflow):
1821         (WebCore::RenderBox::minYVisualOverflow):
1822         (WebCore::RenderBox::maxYVisualOverflow):
1823         (WebCore::RenderBox::minXVisualOverflow):
1824         (WebCore::RenderBox::maxXVisualOverflow):
1825         (WebCore::RenderBox::logicalLeftVisualOverflow):
1826         (WebCore::RenderBox::logicalRightVisualOverflow):
1827         * rendering/RenderInline.cpp:
1828         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1829         * rendering/RenderLayerCompositor.cpp:
1830         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1831         * rendering/RenderLineBoxList.cpp:
1832         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1833         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1834         (WebCore::RenderLineBoxList::paint):
1835         (WebCore::RenderLineBoxList::hitTest):
1836         * rendering/RenderMarquee.cpp:
1837         (WebCore::RenderMarquee::computePosition):
1838         * rendering/RenderOverflow.h:
1839         (WebCore::RenderOverflow::RenderOverflow):
1840         (WebCore::RenderOverflow::minYLayoutOverflow):
1841         (WebCore::RenderOverflow::maxYLayoutOverflow):
1842         (WebCore::RenderOverflow::minXLayoutOverflow):
1843         (WebCore::RenderOverflow::maxXLayoutOverflow):
1844         (WebCore::RenderOverflow::minYVisualOverflow):
1845         (WebCore::RenderOverflow::maxYVisualOverflow):
1846         (WebCore::RenderOverflow::minXVisualOverflow):
1847         (WebCore::RenderOverflow::maxXVisualOverflow):
1848         (WebCore::RenderOverflow::setminYVisualOverflow):
1849         (WebCore::RenderOverflow::visualOverflowRect):
1850         (WebCore::RenderOverflow::move):
1851         (WebCore::RenderOverflow::addVisualOverflow):
1852         (WebCore::RenderOverflow::setVisualOverflow):
1853         * rendering/RenderReplaced.cpp:
1854         (WebCore::RenderReplaced::shouldPaint):
1855         * rendering/RenderTable.cpp:
1856         (WebCore::RenderTable::layout):
1857         (WebCore::RenderTable::paint):
1858         * rendering/RenderTableCell.cpp:
1859         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1860         * rendering/RenderTreeAsText.cpp:
1861         (WebCore::writeLayers):
1862         * rendering/RenderView.cpp:
1863         (WebCore::RenderView::docTop):
1864
1865 2011-02-02  Steve Lacey  <sjl@chromium.org>
1866
1867         Reviewed by Eric Carlson.
1868
1869         Implement basic media statistics on media elements.
1870         https://bugs.webkit.org/show_bug.cgi?id=53322
1871
1872         * Configurations/FeatureDefines.xcconfig:
1873         * GNUmakefile.am:
1874         * features.pri:
1875         * html/HTMLMediaElement.cpp:
1876         (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
1877         (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
1878         * html/HTMLMediaElement.h:
1879         * html/HTMLMediaElement.idl:
1880         * html/HTMLVideoElement.cpp:
1881         (WebCore::HTMLVideoElement::webkitDecodedFrames):
1882         (WebCore::HTMLVideoElement::webkitDroppedFrames):
1883         * html/HTMLVideoElement.h:
1884         * html/HTMLVideoElement.idl:
1885         * platform/graphics/MediaPlayer.cpp:
1886         (WebCore::MediaPlayer::decodedFrames):
1887         (WebCore::MediaPlayer::droppedFrames):
1888         (WebCore::MediaPlayer::audioBytesDecoded):
1889         (WebCore::MediaPlayer::videoBytesDecoded):
1890         * platform/graphics/MediaPlayer.h:
1891         * platform/graphics/MediaPlayerPrivate.h:
1892         (WebCore::MediaPlayerPrivateInterface::decodedFrames):
1893         (WebCore::MediaPlayerPrivateInterface::droppedFrames):
1894         (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
1895         (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
1896
1897 2011-02-02  Luiz Agostini  <luiz.agostini@openbossa.org>
1898
1899         Reviewed by David Hyatt.
1900
1901         More conversion from right()/bottom() to maxX()/maxY().
1902
1903         * page/qt/FrameQt.cpp:
1904         (WebCore::Frame::dragImageForSelection):
1905         * platform/graphics/qt/GraphicsContextQt.cpp:
1906         (WebCore::GraphicsContext::roundToDevicePixels):
1907
1908 2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>
1909
1910         [wx] Build fixes for wxWebKit.
1911
1912         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
1913         (documentWrite):
1914         * bindings/scripts/CodeGeneratorCPP.pm:
1915         * page/wx/DragControllerWx.cpp:
1916         (WebCore::DragController::dragOperation):
1917         * platform/graphics/wx/FontCustomPlatformData.h:
1918         * platform/graphics/wx/FontPlatformData.h:
1919         (WebCore::FontPlatformData::widthVariant):
1920         * platform/graphics/wx/FontPlatformDataWx.cpp:
1921         (WebCore::FontPlatformData::computeHash):
1922         * platform/graphics/wx/FontWx.cpp:
1923         * platform/graphics/wx/GraphicsContextWx.cpp:
1924         (WebCore::GraphicsContext::fillPath):
1925         (WebCore::GraphicsContext::strokePath):
1926         * platform/wx/RenderThemeWx.cpp:
1927
1928 2011-02-02  David Hyatt  <hyatt@apple.com>
1929
1930         Reviewed by Darin Adler.
1931
1932         More right()/bottom() to maxX()/maxY() conversion.
1933
1934         * page/chromium/FrameChromium.cpp:
1935         (WebCore::Frame::nodeImage):
1936         (WebCore::Frame::dragImageForSelection):
1937
1938 2011-02-02  Sam Weinig  <sam@webkit.org>
1939
1940         Fix windows clean build.
1941
1942         * DerivedSources.make:
1943
1944 2011-02-02  Mikhail Naganov  <mnaganov@chromium.org>
1945
1946         Reviewed by Pavel Feldman.
1947
1948         Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
1949
1950         https://bugs.webkit.org/show_bug.cgi?id=53606
1951
1952         Display progress while taking a snapshot, and hints while loading
1953         and parsing. This is needed because taking detailed heap snapshots
1954         takes time.
1955
1956         * English.lproj/localizedStrings.js:
1957         * inspector/front-end/DetailedHeapshotView.js:
1958         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
1959         * inspector/front-end/ProfilesPanel.js:
1960         (WebInspector.ProfilesPanel.prototype._reset):
1961         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1962         (WebInspector.ProfilesPanel.prototype.getProfiles):
1963         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1964         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
1965         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1966         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
1967         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
1968         * inspector/front-end/SidebarTreeElement.js:
1969         (WebInspector.SidebarTreeElement.prototype.refreshTitles):
1970
1971 2011-02-02  David Hyatt  <hyatt@apple.com>
1972
1973         Reviewed by Darin Adler.
1974
1975         More conversion from right()/bottom() to maxX()/maxY().
1976
1977         * platform/win/PopupMenuWin.cpp:
1978         (WebCore::PopupMenuWin::calculatePositionAndSize):
1979         (WebCore::PopupMenuWin::paint):
1980
1981 2011-02-02  David Hyatt  <hyatt@apple.com>
1982
1983         Reviewed by Darin Adler.
1984
1985         Removal of right()/bottom().  Replace with maxX() and maxY().  Still converting.  Haven't removed yet.
1986
1987         * platform/chromium/PopupMenuChromium.cpp:
1988         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
1989         (WebCore::PopupListBox::scrollToRevealRow):
1990         (WebCore::PopupListBox::layout):
1991         * platform/graphics/FloatRect.h:
1992         * platform/graphics/IntRect.h:
1993         * platform/graphics/cairo/ImageBufferCairo.cpp:
1994         (WebCore::getImageData):
1995         (WebCore::putImageData):
1996         * platform/graphics/chromium/GLES2Canvas.cpp:
1997         (WebCore::GLES2Canvas::drawTexturedRect):
1998         * platform/graphics/chromium/LayerRendererChromium.cpp:
1999         (WebCore::LayerRendererChromium::verticalScrollbarRect):
2000         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2001         (WebCore::LayerRendererChromium::setScissorToRect):
2002         (WebCore::LayerRendererChromium::setDrawViewportRect):
2003         * platform/graphics/chromium/LayerTilerChromium.cpp:
2004         (WebCore::LayerTilerChromium::contentRectToTileIndices):
2005         (WebCore::LayerTilerChromium::growLayerToContain):
2006         * platform/graphics/gpu/TilingData.cpp:
2007         (WebCore::TilingData::tileBoundsWithBorder):
2008         (WebCore::TilingData::overlappedTileIndices):
2009         * platform/graphics/qt/ImageBufferQt.cpp:
2010         (WebCore::getImageData):
2011         (WebCore::putImageData):
2012         * platform/graphics/skia/FloatRectSkia.cpp:
2013         (WebCore::FloatRect::operator SkRect):
2014         * platform/graphics/skia/ImageBufferSkia.cpp:
2015         (WebCore::getImageData):
2016         (WebCore::putImageData):
2017         * platform/graphics/skia/IntRectSkia.cpp:
2018         (WebCore::IntRect::operator SkIRect):
2019         (WebCore::IntRect::operator SkRect):
2020         * platform/graphics/skia/PlatformContextSkia.cpp:
2021         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2022         * platform/graphics/win/GraphicsContextWin.cpp:
2023         (WebCore::GraphicsContextPlatformPrivate::clip):
2024         * platform/graphics/win/IntRectWin.cpp:
2025         (WebCore::IntRect::operator RECT):
2026         * platform/graphics/win/UniscribeController.cpp:
2027         (WebCore::UniscribeController::shapeAndPlaceItem):
2028         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2029         (WebCore::roundRect):
2030         (WebCore::mapRect):
2031         (WebCore::TransparentLayerDC::TransparentLayerDC):
2032         (WebCore::GraphicsContext::drawRect):
2033         (WebCore::GraphicsContext::drawEllipse):
2034         (WebCore::GraphicsContext::strokeArc):
2035         (WebCore::GraphicsContext::clip):
2036         (WebCore::GraphicsContext::clipOut):
2037         (WebCore::GraphicsContext::strokeRect):
2038         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2039         (WebCore::GIFImageDecoder::initFrameBuffer):
2040         * platform/win/PopupMenuWin.cpp:
2041         (WebCore::PopupMenuWin::calculatePositionAndSize):
2042         (WebCore::PopupMenuWin::paint):
2043         * plugins/win/PluginViewWin.cpp:
2044         (WebCore::PluginView::updatePluginWidget):
2045         (WebCore::PluginView::invalidateRect):
2046         * rendering/RenderThemeSafari.cpp:
2047         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2048         (WebCore::RenderThemeSafari::paintMenuListButton):
2049         (WebCore::RenderThemeSafari::paintSliderTrack):
2050         * rendering/RenderThemeWin.cpp:
2051         (WebCore::RenderThemeWin::paintInnerSpinButton):
2052         (WebCore::RenderThemeWin::paintMenuListButton):
2053
2054 2011-02-02  Antti Koivisto  <antti@apple.com>
2055
2056         Reviewed by Maciej Stachowiak.
2057
2058         Use Vector instead of a linked list for rules in CSSStyleSelector
2059         https://bugs.webkit.org/show_bug.cgi?id=53581
2060         
2061         - eliminate CSSRuleDataList, replace with Vector<RuleData>
2062         - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 
2063           (these are selector internal classes, CSS prefix is better reserved for public ones).
2064         - constify a bit
2065         - shrink the vectors to fit after collecting the rules
2066
2067         * css/CSSStyleSelector.cpp:
2068         (WebCore::RuleData::RuleData):
2069         (WebCore::RuleData::position):
2070         (WebCore::RuleData::rule):
2071         (WebCore::RuleData::selector):
2072         (WebCore::RuleSet::disableAutoShrinkToFit):
2073         (WebCore::RuleSet::getIDRules):
2074         (WebCore::RuleSet::getClassRules):
2075         (WebCore::RuleSet::getTagRules):
2076         (WebCore::RuleSet::getPseudoRules):
2077         (WebCore::RuleSet::getUniversalRules):
2078         (WebCore::RuleSet::getPageRules):
2079         (WebCore::collectSiblingRulesInDefaultStyle):
2080         (WebCore::CSSStyleSelector::CSSStyleSelector):
2081         (WebCore::loadFullDefaultStyle):
2082         (WebCore::loadSimpleDefaultStyle):
2083         (WebCore::loadViewSourceStyle):
2084         (WebCore::CSSStyleSelector::matchRules):
2085         (WebCore::CSSStyleSelector::matchRulesForList):
2086         (WebCore::operator >):
2087         (WebCore::operator <=):
2088         (WebCore::CSSStyleSelector::sortMatchedRules):
2089         (WebCore::CSSStyleSelector::matchUARules):
2090         (WebCore::RuleSet::RuleSet):
2091         (WebCore::RuleSet::~RuleSet):
2092         (WebCore::RuleSet::addToRuleSet):
2093         (WebCore::RuleSet::addRule):
2094         (WebCore::RuleSet::addPageRule):
2095         (WebCore::RuleSet::addRulesFromSheet):
2096         (WebCore::RuleSet::addStyleRule):
2097         (WebCore::collectIdsAndSiblingRulesFromList):
2098         (WebCore::RuleSet::collectIdsAndSiblingRules):
2099         (WebCore::shrinkMapVectorsToFit):
2100         (WebCore::RuleSet::shrinkToFit):
2101         (WebCore::CSSStyleSelector::matchPageRules):
2102         (WebCore::CSSStyleSelector::matchPageRulesForList):
2103         * css/CSSStyleSelector.h:
2104         (WebCore::CSSStyleSelector::addMatchedRule):
2105
2106 2011-02-02  Andrey Adaikin  <aandrey@google.com>
2107
2108         Reviewed by Pavel Feldman.
2109
2110         Web Inspector: Use DIVs instead of TABLE in TextViewer
2111         https://bugs.webkit.org/show_bug.cgi?id=53299
2112
2113         * inspector/front-end/SourceFrame.js:
2114         (WebInspector.SourceFrame.prototype._createTextViewer):
2115         (WebInspector.SourceFrame.prototype._mouseDown):
2116         * inspector/front-end/TextViewer.js:
2117         (WebInspector.TextViewer):
2118         (WebInspector.TextViewer.prototype.set mimeType):
2119         (WebInspector.TextViewer.prototype.revealLine):
2120         (WebInspector.TextViewer.prototype.addDecoration):
2121         (WebInspector.TextViewer.prototype.removeDecoration):
2122         (WebInspector.TextViewer.prototype.markAndRevealRange):
2123         (WebInspector.TextViewer.prototype.highlightLine):
2124         (WebInspector.TextViewer.prototype.clearLineHighlight):
2125         (WebInspector.TextViewer.prototype.freeCachedElements):
2126         (WebInspector.TextViewer.prototype._handleKeyDown):
2127         (WebInspector.TextViewer.prototype.editLine.finishEditing):
2128         (WebInspector.TextViewer.prototype.editLine):
2129         (WebInspector.TextViewer.prototype.beginUpdates):
2130         (WebInspector.TextViewer.prototype.endUpdates):
2131         (WebInspector.TextViewer.prototype.resize):
2132         (WebInspector.TextViewer.prototype._textChanged):
2133         (WebInspector.TextViewer.prototype._updatePanelOffsets):
2134         (WebInspector.TextViewer.prototype._syncScroll):
2135         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2136         (WebInspector.TextEditorChunkedPanel):
2137         (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
2138         (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
2139         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
2140         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2141         (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
2142         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2143         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2144         (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
2145         (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2146         (WebInspector.TextEditorChunkedPanel.prototype.resize):
2147         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2148         (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2149         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2150         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2151         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2152         (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
2153         (WebInspector.TextEditorGutterPanel):
2154         (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2155         (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
2156         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2157         (WebInspector.TextEditorGutterChunk):
2158         (WebInspector.TextEditorGutterChunk.prototype.get expanded):
2159         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2160         (WebInspector.TextEditorGutterChunk.prototype.get height):
2161         (WebInspector.TextEditorGutterChunk.prototype._createRow):
2162         (WebInspector.TextEditorMainPanel):
2163         (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
2164         (WebInspector.TextEditorMainPanel.prototype.set mimeType):
2165         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2166         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2167         (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
2168         (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2169         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2170         (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
2171         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2172         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2173         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2174         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2175         (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
2176         (WebInspector.TextEditorMainPanel.prototype._getSelection):
2177         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2178         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2179         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2180         (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
2181         (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
2182         (WebInspector.TextEditorMainChunk):
2183         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2184         (WebInspector.TextEditorMainChunk.prototype.set expanded):
2185         (WebInspector.TextEditorMainChunk.prototype.get height):
2186         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2187         (WebInspector.TextEditorMainChunk.prototype._createRow):
2188         (WebInspector):
2189         * inspector/front-end/textViewer.css:
2190         (.text-editor-lines):
2191         (.text-editor-contents):
2192         (.text-editor-editable):
2193         (.webkit-line-decorations):
2194         (.webkit-line-number):
2195         (.webkit-execution-line.webkit-line-content):
2196         (.diff-container .webkit-added-line.webkit-line-content):
2197         (.diff-container .webkit-removed-line.webkit-line-content):
2198         (.diff-container .webkit-changed-line.webkit-line-content):
2199         (.webkit-highlighted-line.webkit-line-content):
2200
2201 2011-02-02  Hans Wennborg  <hans@chromium.org>
2202
2203         Reviewed by Jeremy Orlow.
2204
2205         IndexedDB: Implement support for cursor updates
2206         https://bugs.webkit.org/show_bug.cgi?id=53421
2207
2208         Implement support for cursor updates using the same pattern as cursor
2209         deletes: forward the calls to the IDBObjectStoreBackend::put().
2210         The put() function's signature needs to be changed to allow for a
2211         "cursor update mode". This makes the signature more clear anyway,
2212         since it replaces the boolean parameter.
2213
2214         Test: storage/indexeddb/cursor-update.html
2215
2216         * storage/IDBCursor.idl:
2217         * storage/IDBCursorBackendImpl.cpp:
2218         (WebCore::IDBCursorBackendImpl::key):
2219         (WebCore::IDBCursorBackendImpl::update):
2220         * storage/IDBCursorBackendImpl.h:
2221         * storage/IDBObjectStore.cpp:
2222         (WebCore::IDBObjectStore::add):
2223         (WebCore::IDBObjectStore::put):
2224         * storage/IDBObjectStoreBackendImpl.cpp:
2225         (WebCore::IDBObjectStoreBackendImpl::put):
2226         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2227         * storage/IDBObjectStoreBackendImpl.h:
2228         * storage/IDBObjectStoreBackendInterface.h:
2229
2230 2011-02-02  Naoki Takano  <takano.naoki@gmail.com>
2231
2232         Reviewed by Kent Tamura.
2233
2234         Fix popup menu RTL bug introduced by Changeset 75982.
2235         https://bugs.webkit.org/show_bug.cgi?id=53567
2236
2237         PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
2238
2239         No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
2240
2241         * platform/chromium/PopupMenuChromium.cpp:
2242         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
2243         (WebCore::PopupContainer::showPopup): Change the passing parameter.
2244         (WebCore::PopupContainer::refresh): Change the passing parameter.
2245         * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
2246
2247 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
2248
2249         Reviewed by Martin Robinson.
2250
2251         [GTK] Fix dist compilation
2252         https://bugs.webkit.org/show_bug.cgi?id=53579
2253
2254         * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2255         added in r77153.
2256
2257 2011-02-02  Dai Mikurube  <dmikurube@google.com>
2258
2259         Reviewed by David Levin.
2260
2261         Make mime type lookup in File::create(path) thread-safe
2262         https://bugs.webkit.org/show_bug.cgi?id=47700
2263
2264         This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
2265         The function is to be called as a thread-safe version of getMIMETypeForExtension() when
2266         both FILE_SYSTEM and WORKERS are enabled.
2267
2268         No tests for this patch. This patch itself doesn't change the behaviors.
2269         For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
2270         For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
2271         The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
2272         platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
2273
2274         * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
2275         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2276         * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
2277         * platform/android/TemporaryLinkStubs.cpp:
2278         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2279         * platform/brew/MIMETypeRegistryBrew.cpp:
2280         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2281         * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
2282         (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
2283         * platform/efl/MIMETypeRegistryEfl.cpp:
2284         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2285         * platform/gtk/MIMETypeRegistryGtk.cpp:
2286         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2287         * platform/haiku/MIMETypeRegistryHaiku.cpp:
2288         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2289         * platform/mac/MIMETypeRegistryMac.mm:
2290         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2291         * platform/qt/MIMETypeRegistryQt.cpp:
2292         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2293         * platform/win/MIMETypeRegistryWin.cpp:
2294         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2295         * platform/wince/MIMETypeRegistryWinCE.cpp:
2296         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2297         * platform/wx/MimeTypeRegistryWx.cpp:
2298         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2299
2300 2011-02-01  Adam Barth  <abarth@webkit.org>
2301
2302         Reviewed by Alexey Proskuryakov.
2303
2304         Improve readability of updateWidget by converting bool parameter to an enum
2305         https://bugs.webkit.org/show_bug.cgi?id=53576
2306
2307         As requested on webkit-dev.
2308
2309         * html/HTMLEmbedElement.cpp:
2310         (WebCore::HTMLEmbedElement::updateWidget):
2311         * html/HTMLEmbedElement.h:
2312         * html/HTMLMediaElement.cpp:
2313         (WebCore::HTMLMediaElement::updateWidget):
2314         * html/HTMLMediaElement.h:
2315         * html/HTMLObjectElement.cpp:
2316         (WebCore::HTMLObjectElement::updateWidget):
2317         * html/HTMLObjectElement.h:
2318         * html/HTMLPlugInImageElement.cpp:
2319         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2320         * html/HTMLPlugInImageElement.h:
2321         * page/FrameView.cpp:
2322         (WebCore::FrameView::updateWidget):
2323
2324 2011-02-01  James Robinson  <jamesr@chromium.org>
2325
2326         Reviewed by Adam Barth.
2327
2328         [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
2329         https://bugs.webkit.org/show_bug.cgi?id=53566
2330
2331         A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
2332         Other than being large enough for this one test case, this limit is arbitrary.
2333
2334         * bindings/v8/V8Proxy.h:
2335
2336 2011-02-01  Adam Barth  <abarth@webkit.org>
2337
2338         Reviewed by Andreas Kling.
2339
2340         Remove useless comment
2341         https://bugs.webkit.org/show_bug.cgi?id=53549
2342
2343         The reason for this parameter is captured in
2344         plugins/netscape-plugin-setwindow-size.html, which is a better place to
2345         capture it than in this comment (which otherwise just re-iterates the
2346         name of the parameter).
2347
2348         * html/HTMLPlugInImageElement.cpp:
2349         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2350
2351 2011-02-01  James Simonsen  <simonjam@chromium.org>
2352
2353         Reviewed by Tony Gentilcore.
2354
2355         [WebTiming] Remove asserts that verify timestamp order
2356         https://bugs.webkit.org/show_bug.cgi?id=53548
2357
2358         Covered by existing tests.
2359
2360         * loader/FrameLoader.cpp:
2361         (WebCore::FrameLoader::stopLoading): Remove assert.
2362         * page/DOMWindow.cpp:
2363         (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
2364
2365 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
2366
2367         Add the 'default_targets' enclosure to the flags.
2368
2369         * WebCore.gyp/WebCore.gyp: Did it.
2370
2371 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
2372
2373         Reviewed by James Robinson.
2374
2375         Async event handlers should not fire within a modal dialog
2376         https://bugs.webkit.org/show_bug.cgi?id=53202
2377
2378         Asychronous events that use EventQueue would currently fire while a
2379         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2380         SuspendableTimer (which automatically gets suspended while dialogs are
2381         up and in other cases where JS execution is not allowed).
2382         
2383         Test: fast/events/scroll-event-during-modal-dialog.html
2384
2385         * dom/Document.cpp:
2386         (WebCore::Document::Document):
2387         * dom/EventQueue.cpp:
2388         (WebCore::EventQueueTimer::EventQueueTimer):
2389         (WebCore::EventQueueTimer::fired):
2390         (WebCore::EventQueue::EventQueue):
2391         (WebCore::EventQueue::enqueueEvent):
2392         (WebCore::EventQueue::pendingEventTimerFired):
2393         * dom/EventQueue.h:
2394         (WebCore::EventQueue::create):
2395         * page/SuspendableTimer.cpp:
2396         (WebCore::SuspendableTimer::SuspendableTimer):
2397         (WebCore::SuspendableTimer::suspend):
2398         (WebCore::SuspendableTimer::resume):
2399         * page/SuspendableTimer.h:
2400
2401 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
2402
2403         Reviewed by Andreas Kling.
2404
2405         Change wrong PLATFORM(WIN) to USE(WININET)
2406         https://bugs.webkit.org/show_bug.cgi?id=53547
2407
2408         * platform/network/ResourceHandle.h:
2409
2410 2011-02-01  Beth Dakin  <bdakin@apple.com>
2411
2412         32-bit build fix.
2413
2414         * platform/mac/ScrollAnimatorMac.mm:
2415         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2416
2417 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
2418
2419         Reviewed by Gustavo Noronha Silva.
2420
2421         [GTK] Two tests crash after r76555
2422         https://bugs.webkit.org/show_bug.cgi?id=53057
2423
2424         Instead of creating synchronous ResourceHandles manually, use the ::create factory.
2425         This ensures that ::start() is not called when there is a scheduled failure and also
2426         reduces code duplication.
2427
2428         * platform/network/soup/ResourceHandleSoup.cpp:
2429         (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
2430
2431 2011-02-01  Martin Robinson  <mrobinson@igalia.com>
2432
2433         Reviewed by Eric Seidel.
2434
2435         [GTK] GObject DOM bindings do no support the CallWith attribute
2436         https://bugs.webkit.org/show_bug.cgi?id=53331
2437
2438         Disable building GObject DOM bindings for IndexedDB because we do not support
2439         the CallWith attribute at this time.
2440
2441         * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
2442
2443 2011-02-01  Darin Adler  <darin@apple.com>
2444
2445         Reviewed by Brady Eidson.
2446
2447         Fix a couple loose ends from the back/forward tree encode/decode work
2448         https://bugs.webkit.org/show_bug.cgi?id=53537
2449
2450         * history/HistoryItem.cpp:
2451         (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
2452         original URL string; no need to encode it twice.
2453         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2454         * history/HistoryItem.h: Removed declaration for function that is no
2455         longer defined nor used.
2456
2457 2011-02-01  Tony Chang  <tony@chromium.org>
2458
2459         Reviewed by Kent Tamura.
2460
2461         [chromium] disable arm uninitialized variable warnings
2462         https://bugs.webkit.org/show_bug.cgi?id=53553
2463
2464         We just got another error:
2465         third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
2466         'colorTransparent.unstatic.4879' may be used uninitialized in this
2467         function
2468
2469         * WebCore.gyp/WebCore.gyp:
2470
2471 2011-02-01  chris reiss  <christopher.reiss@nokia.com>
2472
2473         Reviewed by Adam Barth.
2474
2475         Self-replicating code makes Safari hang and eventually crash
2476         https://bugs.webkit.org/show_bug.cgi?id=15123
2477
2478        
2479         Here we are replicating the Firefox safeguard against
2480         recursive document.write( ) 's.
2481
2482         See  https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 
2483         https://bugzilla.mozilla.org/show_bug.cgi?id=197052 .   Firefox does two things - 
2484             a) imposes a recursion limit of 20 on document.write( ) and
2485             b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
2486         To see why this is necessary, consider the script : 
2487
2488         <script>
2489            var t = document.body.innerHTML;
2490            document.write(t);
2491         </script> 
2492
2493         This will create a tree both broad and deep as the script keeps appending itself to the text.   If
2494         we just return one level after the recursion limit is reached, we still allow millions of copies to 
2495         duplicate (and execute).   
2496
2497         The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
2498         to prevent this situation.    (IE apparently does the same thing, with a lower recursion limit.) 
2499
2500         Test: fast/dom/Document/document-write-recursion.html        
2501         Test: fast/dom/Document/document-close-iframe-load.html
2502         Test: fast/dom/Document/document-close-nested-iframe-load.html
2503
2504
2505         * dom/Document.cpp:
2506         (WebCore::Document::Document):
2507         (WebCore::Document::write):
2508         * dom/Document.h:
2509
2510 2011-02-01  Johnny Ding  <jnd@chromium.org>
2511
2512         Reviewed by Darin Adler.
2513
2514         Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
2515         https://bugs.webkit.org/show_bug.cgi?id=53424
2516
2517         Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
2518
2519         * html/HTMLAnchorElement.cpp:
2520         (WebCore::handleLinkClick):
2521
2522 2011-02-01  Csaba Osztrogon√°c  <ossy@webkit.org>
2523
2524         Unreviewed Qt buildfix after r77286.
2525
2526         https://bugs.webkit.org/show_bug.cgi?id=53520 
2527         Remove the physical terminology from IntRect and FloatRect.
2528
2529         * platform/graphics/TiledBackingStore.cpp:
2530         (WebCore::TiledBackingStore::createTiles):
2531
2532 2011-02-01  Sam Weinig  <sam@webkit.org>
2533
2534         Fix Mac production builds.
2535
2536         * DerivedSources.make:
2537         * WebCore.xcodeproj/project.pbxproj:
2538         * platform/mac/ScrollAnimatorMac.h:
2539         * platform/mac/ScrollbarThemeMac.h:
2540
2541 2011-02-01  Darin Adler  <darin@apple.com>
2542
2543         Reviewed by Chris Fleizach.
2544
2545         REGRESSION: Removing focus from area element causes unwanted scrolling
2546         https://bugs.webkit.org/show_bug.cgi?id=50169
2547
2548         Test: fast/images/imagemap-scroll.html
2549
2550         * html/HTMLAreaElement.cpp:
2551         (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2552         RenderImage::areaElementFocusChanged function.
2553         (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2554         here that calls setNeedsLayout on the image's renderer. This was an
2555         attempt to cause repaint of the renderer, but this function does not
2556         need to do that. Also changed this to use the imageElement function
2557         to avoid repeating code.
2558
2559         * html/HTMLAreaElement.h: Updated for above changes.
2560
2561         * rendering/RenderImage.cpp:
2562         (WebCore::RenderImage::paint): Updated for name change.
2563         (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2564         paintFocusRing, because it only paints area focus rings, and should
2565         not be confused with paintFocusRing functions in other classes. Also
2566         removed the unused style argument. Removed the code that used an
2567         HTMLCollection to see if the focused area element is for this image
2568         and instead just call imageElement on the area element.
2569         (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2570
2571         * rendering/RenderImage.h: Added a public areaElementFocusChanged
2572         function for HTMLAreaElement to call. Made the paintFocusRing function
2573         private, renamed it to paintAreaElementFocusRing, and removed its
2574         unused style argument.
2575
2576 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
2577
2578         Unreviewed WinCE build fix for r77286.
2579
2580         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2581         (WebCore::TransparentLayerDC::TransparentLayerDC):
2582
2583 2011-02-01  Chris Fleizach  <cfleizach@apple.com>
2584
2585         Reviewed by Darin Adler.
2586
2587         AX: AXPosition of AXScrollArea is wrong
2588         https://bugs.webkit.org/show_bug.cgi?id=53511
2589
2590         AccessibilityScrollView needed to return a valid documentFrameView() object.
2591         At the same time, the code from document() should be consolidated in 
2592         AccessibilityObject, so all objects can use it.
2593
2594         Test: platform/mac/accessibility/webkit-scrollarea-position.html
2595
2596         * accessibility/AccessibilityObject.cpp:
2597         (WebCore::AccessibilityObject::document):
2598         * accessibility/AccessibilityObject.h:
2599         * accessibility/AccessibilityScrollView.cpp:
2600         (WebCore::AccessibilityScrollView::accessibilityHitTest):
2601         (WebCore::AccessibilityScrollView::documentFrameView):
2602         * accessibility/AccessibilityScrollView.h:
2603
2604 2011-02-01  Zhenyao Mo  <zmo@google.com>
2605
2606         Reviewed by Kenneth Russell.
2607
2608         getUniform should support SAMPLER_2D or SAMPLER_CUBE
2609         https://bugs.webkit.org/show_bug.cgi?id=52190
2610
2611         * html/canvas/WebGLRenderingContext.cpp:
2612         (WebCore::WebGLRenderingContext::getUniform):
2613
2614 2011-02-01  Zhenyao Mo  <zmo@google.com>
2615
2616         Reviewed by Darin Adler.
2617
2618         Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2619         https://bugs.webkit.org/show_bug.cgi?id=53531
2620
2621         With this fix, running WebGL conformance tests should no longer crash randomly.
2622
2623         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2624         (WebCore::GraphicsContext3D::getImageData):
2625
2626 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
2627
2628         One more Chromium build fix after r77286.
2629
2630         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2631         (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2632
2633 2011-02-01  Sam Weinig  <sam@webkit.org>
2634
2635         Fix the build for Beth.
2636
2637         * platform/mac/ScrollAnimatorMac.mm:
2638         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2639
2640 2011-02-01  Sam Weinig  <sam@webkit.org>
2641
2642         Reviewed by Beth Dakin.
2643
2644         Part 2 for <rdar://problem/8492788>
2645         Adopt WKScrollbarPainterController
2646
2647         Use header detection to define scrollbar painting controller #define.
2648
2649         * WebCore.exp.in:
2650         * platform/mac/ScrollAnimatorMac.h:
2651         * platform/mac/ScrollbarThemeMac.h:
2652         * platform/mac/WebCoreSystemInterface.h:
2653         * platform/mac/WebCoreSystemInterface.mm:
2654
2655 2011-02-01  David Hyatt  <hyatt@apple.com>
2656
2657         Reviewed by Oliver Hunt.
2658
2659         https://bugs.webkit.org/show_bug.cgi?id=53520
2660         
2661         Remove the physical terminology from IntRect and FloatRect.
2662         
2663         Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2664         we need to update our terminology to be more accurate.
2665
2666         I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2667         renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
2668         even for flipped rectangles.
2669
2670         * accessibility/AccessibilityRenderObject.cpp:
2671         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2672         * accessibility/mac/AccessibilityObjectWrapper.mm:
2673         (-[AccessibilityObjectWrapper position]):
2674         * dom/ClientRect.h:
2675         (WebCore::ClientRect::right):
2676         (WebCore::ClientRect::bottom):
2677         * html/HTMLCanvasElement.cpp:
2678         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2679         * html/canvas/CanvasRenderingContext2D.cpp:
2680         (WebCore::normalizeRect):
2681         * inspector/InspectorAgent.cpp:
2682         (WebCore::InspectorAgent::drawElementTitle):
2683         * page/DOMWindow.cpp:
2684         (WebCore::DOMWindow::adjustWindowRect):
2685         * page/DragController.cpp:
2686         (WebCore::dragLocForSelectionDrag):
2687         * page/EventHandler.cpp:
2688         (WebCore::EventHandler::sendContextMenuEventForKey):
2689         * page/PrintContext.cpp:
2690         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2691         (WebCore::PrintContext::pageNumberForElement):
2692         * page/SpatialNavigation.cpp:
2693         (WebCore::end):
2694         (WebCore::areRectsFullyAligned):
2695         (WebCore::areRectsMoreThanFullScreenApart):
2696         (WebCore::below):
2697         (WebCore::rightOf):
2698         (WebCore::isRectInDirection):
2699         (WebCore::entryAndExitPointsForDirection):
2700         (WebCore::virtualRectForDirection):
2701         * page/WindowFeatures.cpp:
2702         (WebCore::WindowFeatures::WindowFeatures):
2703         * platform/ScrollView.cpp:
2704         (WebCore::ScrollView::wheelEvent):
2705         * platform/Scrollbar.cpp:
2706         (WebCore::Scrollbar::setFrameRect):
2707         * platform/ScrollbarThemeComposite.cpp:
2708         (WebCore::ScrollbarThemeComposite::splitTrack):
2709         * platform/chromium/ScrollbarThemeChromium.cpp:
2710         (WebCore::ScrollbarThemeChromium::paintTickmarks):
2711         * platform/graphics/FloatQuad.h:
2712         (WebCore::FloatQuad::FloatQuad):
2713         * platform/graphics/FloatRect.cpp:
2714         (WebCore::FloatRect::intersects):
2715         (WebCore::FloatRect::contains):
2716         (WebCore::FloatRect::intersect):
2717         (WebCore::FloatRect::unite):
2718         (WebCore::enclosingIntRect):
2719         * platform/graphics/FloatRect.h:
2720         (WebCore::FloatRect::maxX):
2721         (WebCore::FloatRect::maxY):
2722         (WebCore::FloatRect::contains):
2723         * platform/graphics/IntRect.cpp:
2724         (WebCore::IntRect::intersects):
2725         (WebCore::IntRect::contains):
2726         (WebCore::IntRect::intersect):
2727         (WebCore::IntRect::unite):
2728         * platform/graphics/IntRect.h:
2729         (WebCore::IntRect::maxX):
2730         (WebCore::IntRect::maxY):
2731         (WebCore::IntRect::shiftXEdgeTo):
2732         (WebCore::IntRect::shiftMaxXEdgeTo):
2733         (WebCore::IntRect::shiftYEdgeTo):
2734         (WebCore::IntRect::shiftMaxYEdgeTo):
2735         (WebCore::IntRect::contains):
2736         * platform/graphics/WidthIterator.cpp:
2737         (WebCore::WidthIterator::advance):
2738         * platform/graphics/cg/GraphicsContextCG.cpp:
2739         (WebCore::GraphicsContext::drawRect):
2740         (WebCore::GraphicsContext::fillPath):
2741         (WebCore::GraphicsContext::fillRect):
2742         * platform/graphics/cg/ImageBufferCG.cpp:
2743         (WebCore::getImageData):
2744         (WebCore::putImageData):
2745         * platform/graphics/cg/ImageCG.cpp:
2746         (WebCore::BitmapImage::draw):
2747         * platform/graphics/filters/FilterEffect.cpp:
2748         (WebCore::FilterEffect::copyImageBytes):
2749         * platform/graphics/mac/ComplexTextController.cpp:
2750         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2751         * platform/graphics/mac/SimpleFontDataMac.mm:
2752         (WebCore::SimpleFontData::platformBoundsForGlyph):
2753         * platform/graphics/transforms/AffineTransform.cpp:
2754         (WebCore::AffineTransform::mapRect):
2755         * platform/graphics/win/FontCGWin.cpp:
2756         (WebCore::drawGDIGlyphs):
2757         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2758         (WebCore::MediaPlayerPrivate::paint):
2759         * platform/gtk/RenderThemeGtk.cpp:
2760         (WebCore::centerRectVerticallyInParentInputElement):
2761         * platform/mac/WidgetMac.mm:
2762         (WebCore::Widget::paint):
2763         * rendering/InlineFlowBox.cpp:
2764         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2765         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2766         * rendering/InlineTextBox.cpp:
2767         (WebCore::InlineTextBox::selectionRect):
2768         (WebCore::InlineTextBox::paint):
2769         (WebCore::InlineTextBox::positionForOffset):
2770         * rendering/RenderBlock.cpp:
2771         (WebCore::RenderBlock::addOverflowFromChildren):
2772         (WebCore::RenderBlock::paintChildren):
2773         (WebCore::RenderBlock::paintEllipsisBoxes):
2774         (WebCore::RenderBlock::inlineSelectionGaps):
2775         (WebCore::RenderBlock::adjustPointToColumnContents):
2776         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2777         (WebCore::RenderBlock::adjustForColumns):
2778         * rendering/RenderBlock.h:
2779         (WebCore::RenderBlock::FloatingObject::right):
2780         (WebCore::RenderBlock::FloatingObject::bottom):
2781         * rendering/RenderBox.cpp:
2782         (WebCore::RenderBox::reflectedRect):
2783         (WebCore::RenderBox::localCaretRect):
2784         (WebCore::RenderBox::addShadowOverflow):
2785         (WebCore::RenderBox::addLayoutOverflow):
2786         (WebCore::RenderBox::visualOverflowRectForPropagation):
2787         (WebCore::RenderBox::layoutOverflowRectForPropagation):
2788         (WebCore::RenderBox::flipForWritingMode):
2789         * rendering/RenderFrameSet.cpp:
2790         (WebCore::RenderFrameSet::paintColumnBorder):
2791         (WebCore::RenderFrameSet::paintRowBorder):
2792         * rendering/RenderInline.cpp:
2793         (WebCore::RenderInline::paintOutlineForLine):
2794         * rendering/RenderLayer.cpp:
2795         (WebCore::RenderLayer::getRectToExpose):
2796         (WebCore::cornerRect):
2797         (WebCore::RenderLayer::positionOverflowControls):
2798         (WebCore::RenderLayer::overflowBottom):
2799         (WebCore::RenderLayer::overflowRight):
2800         (WebCore::RenderLayer::paintResizer):
2801         * rendering/RenderLineBoxList.cpp:
2802         (WebCore::RenderLineBoxList::rangeIntersectsRect):
2803         (WebCore::RenderLineBoxList::paint):
2804         * rendering/RenderListItem.cpp:
2805         (WebCore::RenderListItem::positionListMarker):
2806         * rendering/RenderListMarker.cpp:
2807         (WebCore::RenderListMarker::paint):
2808         * rendering/RenderObject.cpp:
2809         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2810         * rendering/RenderOverflow.h:
2811         (WebCore::RenderOverflow::RenderOverflow):
2812         (WebCore::RenderOverflow::addLayoutOverflow):
2813         (WebCore::RenderOverflow::addVisualOverflow):
2814         (WebCore::RenderOverflow::setLayoutOverflow):
2815         (WebCore::RenderOverflow::setVisualOverflow):
2816         (WebCore::RenderOverflow::resetLayoutOverflow):
2817         * rendering/RenderReplaced.cpp:
2818         (WebCore::RenderReplaced::shouldPaint):
2819         * rendering/RenderScrollbarTheme.cpp:
2820         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2821         * rendering/RenderTable.cpp:
2822         (WebCore::RenderTable::paint):
2823         * rendering/RenderTableCell.cpp:
2824         (WebCore::RenderTableCell::paint):
2825         * rendering/RenderTableSection.cpp:
2826         (WebCore::RenderTableSection::paintObject):
2827         * rendering/RenderText.cpp:
2828         (WebCore::RenderText::absoluteQuads):
2829         * rendering/RenderTextControlSingleLine.cpp:
2830         (WebCore::RenderTextControlSingleLine::forwardEvent):
2831         * rendering/RenderThemeMac.mm:
2832         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2833         (WebCore::RenderThemeMac::paintMenuListButton):
2834         (WebCore::RenderThemeMac::paintSliderTrack):
2835         * rendering/RenderView.cpp:
2836         (WebCore::RenderView::computeRectForRepaint):
2837         (WebCore::RenderView::docBottom):
2838         (WebCore::RenderView::docRight):
2839         * rendering/RootInlineBox.cpp:
2840         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2841         * rendering/svg/RenderSVGInlineText.cpp:
2842         (WebCore::RenderSVGInlineText::localCaretRect):
2843
2844 2011-02-01  Beth Dakin  <bdakin@apple.com>
2845
2846         Reviewed by Sam Weinig.
2847
2848         Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2849
2850         Lots of new WebCoreSystemInterface functions to export.
2851         * WebCore.exp.in:
2852         * platform/mac/WebCoreSystemInterface.h:
2853         * platform/mac/WebCoreSystemInterface.mm:
2854
2855         Let the scrollAnimator know when the mouse has
2856         moved anywhere inside the page, and when the mouse 
2857         has moved in or out of the window. 
2858         * page/EventHandler.cpp:
2859         (WebCore::EventHandler::mouseMoved):
2860         (WebCore::EventHandler::updateMouseEventTargetNode):
2861
2862         Let the scrollAnimator know when the window has become
2863         active or inactive.
2864         * page/FocusController.cpp:
2865         (WebCore::FocusController::setActive):
2866         
2867         Let the scrollAnimator know when all of these things
2868         are happening.
2869         * page/FrameView.cpp:
2870         (WebCore::FrameView::setContentsSize):
2871         (WebCore::FrameView::didMoveOnscreen):
2872         (WebCore::FrameView::willMoveOffscreen):
2873         (WebCore::FrameView::currentMousePosition):
2874         (WebCore::FrameView::contentsResized):
2875         
2876         New functions called through WebKit2 that allow the
2877         scrollAnimator to know when a live resize starts and ends.
2878         (WebCore::FrameView::willStartLiveResize):
2879         (WebCore::FrameView::willEndLiveResize):
2880         * page/FrameView.h:
2881         
2882         New functions on ScrollAnimator that pass information
2883         to the WKPainterController when we're using one.
2884         * platform/ScrollAnimator.h:
2885         (WebCore::ScrollAnimator::scrollableArea):
2886         (WebCore::ScrollAnimator::contentAreaWillPaint):
2887         (WebCore::ScrollAnimator::mouseEnteredContentArea):
2888         (WebCore::ScrollAnimator::mouseExitedContentArea):
2889         (WebCore::ScrollAnimator::mouseMovedInContentArea):
2890         (WebCore::ScrollAnimator::willStartLiveResize):
2891         (WebCore::ScrollAnimator::contentsResized):
2892         (WebCore::ScrollAnimator::willEndLiveResize):
2893         (WebCore::ScrollAnimator::contentAreaDidShow):
2894         (WebCore::ScrollAnimator::contentAreaDidHide):
2895         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2896         (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
2897         (WebCore::ScrollAnimatorMac::setPainterForPainterController):
2898         (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
2899         (WebCore::ScrollAnimatorMac::notityPositionChanged):
2900         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2901         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2902         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2903         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2904         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2905         (WebCore::ScrollAnimatorMac::contentsResized):
2906         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2907         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2908         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2909         
2910         Let the scrollAnimator know when this is happening.
2911         * platform/ScrollView.cpp:
2912         (WebCore::ScrollView::paint):
2913         
2914         New function lets the scrollAnimator get the current 
2915         mouse position.
2916         * platform/ScrollView.h:
2917         (WebCore::ScrollView::currentMousePosition):
2918         
2919         New function that returns the scrollAnimator when needed.
2920         * platform/ScrollableArea.h:
2921         (WebCore::ScrollableArea::scrollAnimator):
2922         
2923         Keep track of if we're in a live resize using a new memeber
2924         variable.
2925         * platform/mac/ScrollAnimatorMac.h:
2926         (WebCore::ScrollAnimatorMac::inLiveResize):
2927         * platform/mac/ScrollAnimatorMac.mm:
2928         (WebCore::view):
2929         
2930         New delegates for the WKPainter and WKPainterController
2931         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2932         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2933         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2934         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2935         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2936         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2937         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2938         (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
2939         (-[ScrollKnobAnimation setCurrentProgress:]):
2940         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2941         (-[ScrollbarPainterDelegate convertRectToBacking:]):
2942         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2943         (-[ScrollbarPainterDelegate layer]):
2944         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
2945         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2946         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2947         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2948
2949         Get the WKScrollbarPainterRefs to synch up with the 
2950         WKScrollbarPainterControllerRefs when appropriate
2951         * platform/mac/ScrollbarThemeMac.h:
2952         * platform/mac/ScrollbarThemeMac.mm:
2953         (WebCore::ScrollbarThemeMac::registerScrollbar):
2954         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2955         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
2956         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2957
2958         Implement ScrollableArea's virtual function contentsSize() for access
2959         through the scrollAnimator.
2960         * rendering/RenderLayer.h:
2961         (WebCore::RenderLayer::contentsSize):
2962
2963 2011-02-01  Carol Szabo  <carol.szabo@nokia.com>
2964
2965         Reviewed by David Hyatt.
2966
2967         layoutTestController.counterValueForElementById does not return the correct value
2968         https://bugs.webkit.org/show_bug.cgi?id=53037
2969
2970         Test: fast/css/counters/deep-before.html
2971
2972         * rendering/RenderTreeAsText.cpp:
2973         (WebCore::counterValueForElement):
2974         Modified to use the newly available RenderObject::beforePseudoElement()
2975         and RenderObject::afterPseudoElement() instead of the old imperfect
2976         algorithm to find the before and after pseudo elements.
2977
2978 2011-02-01  Anton Muhin  <antonm@chromium.org>
2979
2980         Reviewed by Adam Barth.
2981
2982         Allow access for security origin same as this.
2983         https://bugs.webkit.org/show_bug.cgi?id=53440
2984
2985         Hard to test as newly added path currently is never hit.
2986
2987         * page/SecurityOrigin.cpp:
2988         (WebCore::SecurityOrigin::canAccess): allow access if this == other
2989
2990 2011-01-31  Oliver Hunt  <oliver@apple.com>
2991
2992         Reviewed by Geoffrey Garen.
2993
2994         Update JSObject storage for new marking API
2995         https://bugs.webkit.org/show_bug.cgi?id=53467
2996
2997         Update WebCore to handle new anonymous slot behaviour.
2998
2999         * bindings/js/JSDOMWindowShell.cpp:
3000         (WebCore::JSDOMWindowShell::setWindow):
3001         * bindings/js/WorkerScriptController.cpp:
3002         (WebCore::WorkerScriptController::initScript):
3003         * bindings/scripts/CodeGeneratorJS.pm:
3004
3005 2011-02-01  Xiaomei Ji  <xji@chromium.org>
3006
3007         Reviewed by David Hyatt.
3008
3009         Fix a text rendering problem when enclosing block is RTL and text runs
3010         are in different directionality.
3011         https://bugs.webkit.org/show_bug.cgi?id=34176
3012
3013         The problem happens in the following example scenario (ABC represents 
3014         Hebrew characters):
3015         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3016
3017         The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
3018         TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
3019         TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
3020
3021         The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
3022
3023         Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
3024         creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
3025         the run's render object's ancestor (not only its parent) has already 
3026         been constructed or has something following it on the line, in which 
3027         case, create a new box for TextRun2 instead of sharing the same box with
3028         TextRun3.
3029
3030         In other words, the following 2 div should render the same results
3031         (ABC represents Hebrew characters).
3032         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3033         <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
3034
3035         Test: fast/dom/34176.html
3036
3037         * rendering/RenderBlockLineLayout.cpp:
3038         (WebCore::parentIsConstructedOrHaveNext):
3039         (WebCore::RenderBlock::createLineBoxes):
3040
3041 2011-02-01  Abhishek Arya  <inferno@chromium.org>
3042
3043         Reviewed by Dan Bernstein.
3044
3045         Do not add a node in the document's stylesheet candidate node list if the
3046         node is already removed from document.
3047         https://bugs.webkit.org/show_bug.cgi?id=53441
3048
3049         Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
3050
3051         * dom/Document.cpp:
3052         (WebCore::Document::addStyleSheetCandidateNode):
3053
3054 2011-02-01  Dave Hyatt  <hyatt@apple.com>
3055
3056         Reviewed by Darin Adler.
3057
3058         https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
3059         with vertical text.
3060
3061         Change printing functions to check writing-mode and properly swap width and height
3062         as needed.
3063         
3064         Fix the setScrollOrigin function so that the origin doesn't cause
3065         scroll spasming during printing (this is only partially successful, but it's better
3066         than it was).
3067
3068         Rewrite computePageRects to handle both RTL documents properly as well as vertical
3069         text documents properly.
3070
3071         * WebCore.exp.in:
3072         * page/FrameView.cpp:
3073         (WebCore::FrameView::adjustViewSize):
3074         (WebCore::FrameView::forceLayoutForPagination):
3075         * page/PrintContext.cpp:
3076         (WebCore::PrintContext::computePageRects):
3077         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3078         (WebCore::PrintContext::computeAutomaticScaleFactor):
3079         (WebCore::PrintContext::spoolPage):
3080         (WebCore::PrintContext::spoolRect):
3081         * page/PrintContext.h:
3082         * page/mac/WebCoreFrameView.h:
3083         * platform/ScrollView.cpp:
3084         (WebCore::ScrollView::wheelEvent):
3085         * platform/ScrollView.h:
3086         * platform/mac/ScrollViewMac.mm:
3087         (WebCore::ScrollView::platformSetScrollOrigin):
3088         * rendering/RenderView.cpp:
3089         (WebCore::RenderView::layout):
3090
3091 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
3092
3093         Reviewed by Pavel Feldman.
3094
3095         Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
3096
3097         https://bugs.webkit.org/show_bug.cgi?id=53500
3098
3099         * inspector/InspectorProfilerAgent.cpp:
3100         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3101
3102 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
3103
3104         Reviewed by Pavel Feldman.
3105
3106         Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
3107
3108         https://bugs.webkit.org/show_bug.cgi?id=53173
3109
3110         Adding code for accessing heap snapshot data and
3111         performing graph calculations.
3112
3113         * English.lproj/localizedStrings.js:
3114         * inspector/front-end/HeapSnapshot.js:
3115         (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
3116         (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
3117         (WebInspector.HeapSnapshotEdgeIterator):
3118         (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
3119         (WebInspector.HeapSnapshotNodeIterator):
3120         (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
3121         (WebInspector.HeapSnapshotFilteredOrderedIterator):
3122         (WebInspector.HeapSnapshotEdgesProvider):
3123         (WebInspector.HeapSnapshotNodesProvider):
3124         (WebInspector.HeapSnapshotPathFinder):
3125         * inspector/front-end/HeapSnapshotView.js:
3126         (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
3127
3128 2011-02-01  Adam Roben  <aroben@apple.com>
3129
3130         Fix linker warnings in Release_LTCG builds
3131
3132         * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
3133         configurations, since they get pulled in via DOMAllInOne.cpp.
3134
3135 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
3136
3137         Reviewed by Yury Semikhatsky.
3138
3139         Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
3140         https://bugs.webkit.org/show_bug.cgi?id=53482
3141
3142         * English.lproj/localizedStrings.js:
3143         * inspector/front-end/ElementsPanel.js:
3144         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
3145         * inspector/front-end/inspector.js:
3146         (WebInspector.resourceForURL):
3147         (WebInspector.openLinkExternallyLabel):
3148
3149 2011-02-01  Anton Muhin  <antonm@chromium.org>
3150
3151         Reviewed by Adam Barth.
3152
3153         Propagate parent document security origin to newly create Document XML response
3154         https://bugs.webkit.org/show_bug.cgi?id=53444
3155
3156         Covered by the existing tests.
3157
3158         * xml/XMLHttpRequest.cpp:
3159         (WebCore::XMLHttpRequest::responseXML):
3160
3161 2011-02-01  Yury Semikhatsky  <yurys@chromium.org>
3162
3163         Unreviewed. Rollout r77230 which caused many layout tests
3164         crashes on Chromium Debug bots.
3165
3166         Async event handlers should not fire within a modal dialog
3167         https://bugs.webkit.org/show_bug.cgi?id=53202
3168
3169         * dom/Document.cpp:
3170         (WebCore::Document::Document):
3171         * dom/EventQueue.cpp:
3172         (WebCore::EventQueue::EventQueue):
3173         (WebCore::EventQueue::enqueueEvent):
3174         (WebCore::EventQueue::pendingEventTimerFired):
3175         * dom/EventQueue.h:
3176
3177 2011-02-01  Zoltan Herczeg  <zherczeg@webkit.org>
3178
3179         Reviewed by Dirk Schulze.
3180
3181         LightElement changes does not require relayout.
3182         https://bugs.webkit.org/show_bug.cgi?id=53232
3183
3184         When an attribute of a LightElement changes, it
3185         send an update message to the lighting filters
3186         to update its corresponding LightSource objects,
3187         and repaint the filters.
3188
3189         Duplicated 'id' attributes removed from svg-filter-animation.svg.
3190
3191         Existing dynamic-update tests covers this feature.
3192
3193         5x speedup on manual-tests/svg-filter-animation.svg
3194
3195         * manual-tests/svg-filter-animation.svg:
3196         * platform/graphics/filters/DistantLightSource.h:
3197         * platform/graphics/filters/FEDiffuseLighting.cpp:
3198         (WebCore::FEDiffuseLighting::setLightingColor):
3199         (WebCore::FEDiffuseLighting::setSurfaceScale):
3200         (WebCore::FEDiffuseLighting::setDiffuseConstant):
3201         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
3202         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
3203         * platform/graphics/filters/FEDiffuseLighting.h:
3204         * platform/graphics/filters/LightSource.cpp:
3205         (WebCore::PointLightSource::setX):
3206         (WebCore::PointLightSource::setY):
3207         (WebCore::PointLightSource::setZ):
3208         (WebCore::SpotLightSource::setX):
3209         (WebCore::SpotLightSource::setY):
3210         (WebCore::SpotLightSource::setZ):
3211         (WebCore::SpotLightSource::setPointsAtX):
3212         (WebCore::SpotLightSource::setPointsAtY):
3213         (WebCore::SpotLightSource::setPointsAtZ):
3214         (WebCore::SpotLightSource::setSpecularExponent):
3215         (WebCore::SpotLightSource::setLimitingConeAngle):
3216         (WebCore::DistantLightSource::setAzimuth):
3217         (WebCore::DistantLightSource::setElevation):
3218         (WebCore::LightSource::setAzimuth):
3219         (WebCore::LightSource::setElevation):
3220         (WebCore::LightSource::setX):
3221         (WebCore::LightSource::setY):
3222         (WebCore::LightSource::setZ):
3223         (WebCore::LightSource::setPointsAtX):
3224         (WebCore::LightSource::setPointsAtY):
3225         (WebCore::LightSource::setPointsAtZ):
3226         (WebCore::LightSource::setSpecularExponent):
3227         (WebCore::LightSource::setLimitingConeAngle):
3228         * platform/graphics/filters/LightSource.h:
3229         * platform/graphics/filters/PointLightSource.h:
3230         * platform/graphics/filters/SpotLightSource.h:
3231         * rendering/svg/RenderSVGResourceFilter.cpp:
3232         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3233         * svg/SVGFEDiffuseLightingElement.cpp:
3234         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3235         (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
3236         (WebCore::SVGFEDiffuseLightingElement::build):
3237         (WebCore::SVGFEDiffuseLightingElement::findLightElement):
3238         (WebCore::SVGFEDiffuseLightingElement::findLight):
3239         * svg/SVGFEDiffuseLightingElement.h:
3240         * svg/SVGFELightElement.cpp:
3241         (WebCore::SVGFELightElement::svgAttributeChanged):
3242         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3243         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
3244         * svg/SVGFilterPrimitiveStandardAttributes.h:
3245
3246 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
3247
3248         Reviewed by Dimitri Glazkov.
3249
3250         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3251         https://bugs.webkit.org/show_bug.cgi?id=53289
3252
3253         Moving the nested class DocumentOrderedMap from Document into separate files,
3254         updating code where necessary.
3255
3256         No new tests. (refactoring)
3257
3258         * Android.mk:
3259         * CMakeLists.txt:
3260         * GNUMakefile.am:
3261         * WebCore.gypi:
3262         * WebCore.pro:
3263         * WebCore.vcproj/WebCore.vcproj:
3264         * WebCore.xcodeproj/project.pbxproj:
3265         * dom/Document.cpp:
3266         (WebCore::Document::getElementById):
3267         (WebCore::Document::getImageMap):
3268         * dom/Document.h:
3269         * dom/DocumentOrderedMap.cpp: Added.
3270         (WebCore::keyMatchesId):
3271         (WebCore::keyMatchesMapName):
3272         (WebCore::keyMatchesLowercasedMapName):
3273         (WebCore::DocumentOrderedMap::clear):
3274         (WebCore::DocumentOrderedMap::add):
3275         (WebCore::DocumentOrderedMap::remove):
3276         (WebCore::DocumentOrderedMap::get):
3277         (WebCore::DocumentOrderedMap::getElementById):
3278         (WebCore::DocumentOrderedMap::getElementByMapName):
3279         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3280         * dom/DocumentOrderedMap.h: Added.
3281         (WebCore::DocumentOrderedMap::contains):
3282         (WebCore::DocumentOrderedMap::containsMultiple):
3283         * dom/DOMAllInOne.cpp:
3284
3285 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
3286
3287         Reviewed by Martin Robinson.
3288
3289         [Gtk] atk_text_set_caret_offset fails for list items
3290         https://bugs.webkit.org/show_bug.cgi?id=53388
3291
3292         Allow using text ranges across list items.
3293
3294         * accessibility/gtk/AccessibilityObjectAtk.cpp:
3295         (WebCore::AccessibilityObject::allowsTextRanges): Add list items
3296         to the list of accessibility objects supporting text ranges.
3297
3298 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
3299
3300         Reviewed by Martin Robinson.
3301
3302         [GTK] character range extents is off when the end of a wrapped line is included
3303         https://bugs.webkit.org/show_bug.cgi?id=53323
3304
3305         Fixed wrong calculation getting the range extents.
3306
3307         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3308         (webkit_accessible_text_get_range_extents): Removed '+1' since the
3309         requested interval shouldn't include the last character.
3310
3311 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
3312
3313         Reviewed by Martin Robinson.
3314
3315         [GTK] Caret Offset is one off at the end of wrapped lines
3316         https://bugs.webkit.org/show_bug.cgi?id=53300
3317
3318         Consider linebreaks as special cases.
3319
3320         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3321         (objectAndOffsetUnignored): In order to avoid getting wrong values
3322         when around linebreaks, we need to workaround this by explicitly
3323         avoiding those '\n' text nodes from affecting the result of
3324         calling to TextIterator:rangeLength().
3325
3326 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
3327
3328         Unreviewed, rolling out r77229.
3329         http://trac.webkit.org/changeset/77229
3330         https://bugs.webkit.org/show_bug.cgi?id=53289
3331
3332         revert mysterious build breakage
3333
3334         * Android.mk:
3335         * CMakeLists.txt:
3336         * GNUmakefile.am:
3337         * WebCore.gypi:
3338         * WebCore.pro:
3339         * WebCore.vcproj/WebCore.vcproj:
3340         * WebCore.xcodeproj/project.pbxproj:
3341         * dom/DOMAllInOne.cpp:
3342         * dom/Document.cpp:
3343         (WebCore::Document::DocumentOrderedMap::clear):
3344         (WebCore::Document::DocumentOrderedMap::add):
3345         (WebCore::Document::DocumentOrderedMap::remove):
3346         (WebCore::Document::DocumentOrderedMap::get):
3347         (WebCore::keyMatchesId):
3348         (WebCore::Document::getElementById):
3349         (WebCore::keyMatchesMapName):
3350         (WebCore::keyMatchesLowercasedMapName):
3351         (WebCore::Document::getImageMap):
3352         * dom/Document.h:
3353         (WebCore::Document::DocumentOrderedMap::contains):
3354         (WebCore::Document::DocumentOrderedMap::containsMultiple):
3355         * dom/DocumentOrderedMap.cpp: Removed.
3356         * dom/DocumentOrderedMap.h: Removed.
3357
3358 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
3359
3360         Reviewed by James Robinson.
3361
3362         Async event handlers should not fire within a modal dialog
3363         https://bugs.webkit.org/show_bug.cgi?id=53202
3364
3365         Asychronous events that use EventQueue would currently fire while a
3366         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
3367         SuspendableTimer (which automatically gets suspended while dialogs are
3368         up and in other cases where JS execution is not allowed).
3369         
3370         Test: fast/events/scroll-event-during-modal-dialog.html
3371
3372         * dom/Document.cpp:
3373         (WebCore::Document::Document):
3374         * dom/EventQueue.cpp:
3375         (WebCore::EventQueueTimer::EventQueueTimer):
3376         (WebCore::EventQueueTimer::fired):
3377         (WebCore::EventQueue::EventQueue):
3378         (WebCore::EventQueue::enqueueEvent):
3379         (WebCore::EventQueue::pendingEventTimerFired):
3380         * dom/EventQueue.h:
3381         (WebCore::EventQueue::create):
3382
3383 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
3384
3385         Reviewed by Dimitri Glazkov.
3386
3387         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3388         https://bugs.webkit.org/show_bug.cgi?id=53289
3389
3390         Moving the nested class DocumentOrderedMap from Document into separate files,
3391         updating code where necessary.
3392
3393         No new tests. (refactoring)
3394
3395         * Android.mk:
3396         * CMakeLists.txt:
3397         * GNUMakefile.am:
3398         * WebCore.gypi:
3399         * WebCore.pro:
3400         * WebCore.vcproj/WebCore.vcproj:
3401         * WebCore.xcodeproj/project.pbxproj:
3402         * dom/Document.cpp:
3403         (WebCore::Document::getElementById):
3404         (WebCore::Document::getImageMap):
3405         * dom/Document.h:
3406         * dom/DocumentOrderedMap.cpp: Added.
3407         (WebCore::keyMatchesId):
3408         (WebCore::keyMatchesMapName):
3409         (WebCore::keyMatchesLowercasedMapName):
3410         (WebCore::DocumentOrderedMap::clear):
3411         (WebCore::DocumentOrderedMap::add):
3412         (WebCore::DocumentOrderedMap::remove):
3413         (WebCore::DocumentOrderedMap::get):
3414         (WebCore::DocumentOrderedMap::getElementById):
3415         (WebCore::DocumentOrderedMap::getElementByMapName):
3416         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3417         * dom/DocumentOrderedMap.h: Added.
3418         (WebCore::DocumentOrderedMap::contains):
3419         (WebCore::DocumentOrderedMap::containsMultiple):
3420         * dom/DOMAllInOne.cpp:
3421
3422 2011-02-01  Naoki Takano  <takano.naoki@gmail.com>
3423
3424         Reviewed by Darin Fisher.
3425
3426         [Chromium] Autofill should work with HTML5 form elements
3427         https://bugs.webkit.org/show_bug.cgi?id=51809
3428         http://crbug.com/65654
3429
3430         No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
3431
3432         * html/InputType.h: Insert comment for canSetSuggestedValue().
3433         * html/TextFieldInputType.cpp:
3434         (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
3435         * html/TextFieldInputType.h: Declare canSetSuggestedValue().
3436         * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
3437         * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
3438
3439 2011-02-01  Kent Tamura  <tkent@chromium.org>
3440
3441         Reviewed by Dan Bernstein.
3442
3443         REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
3444         https://bugs.webkit.org/show_bug.cgi?id=53272
3445
3446         * editing/TextIterator.cpp:
3447         (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
3448
3449 2011-01-31  Alexey Proskuryakov  <ap@apple.com>
3450
3451         Reviewed by Maciej Stachowiak.
3452
3453         https://bugs.webkit.org/show_bug.cgi?id=53466
3454         Move WebKit2 to printing via API methods
3455
3456         * WebCore.exp.in: Export IntRect::scale().
3457
3458 2011-01-31  Patrick Gansterer  <paroga@webkit.org>
3459
3460         Reviewed by Adam Barth.
3461
3462         Remove obsolete comment after r41871
3463         https://bugs.webkit.org/show_bug.cgi?id=53406
3464
3465         * dom/Document.h:
3466
3467 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
3468
3469         Fix according to reviewer comments: can just use Color::black now.
3470
3471         * platform/graphics/ShadowBlur.cpp:
3472         (WebCore::ShadowBlur::drawInsetShadow):
3473         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
3474
3475 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
3476
3477         Reviewed by Sam Weinig.
3478
3479         Clean up ShadowBlur
3480         https://bugs.webkit.org/show_bug.cgi?id=53472
3481
3482         Some minor ShadowBlur cleanup.
3483
3484         * platform/graphics/ShadowBlur.h:
3485         * platform/graphics/ShadowBlur.cpp:
3486         (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
3487         paramter.
3488         (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
3489         (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
3490         layerRect. Make frameSize a float.
3491         (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
3492         layerRect rather than calling calculateLayerBoundingRect() to compute
3493         it itself, since we were calling calculateLayerBoundingRect() twice.
3494         (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
3495         only once. The shadowRect variable was unused, so two return paths could be
3496         collapsed into one.
3497         (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
3498         beginShadowLayer() now.
3499         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
3500         We always used alpha=1, so no need to pass that in.
3501         (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
3502         pass that in. Move shadowRect down to first use.
3503         ShadowBlur::clipBounds() was unused.
3504
3505 2011-01-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
3506
3507         Reviewed by Kenneth Rohde Christiansen.
3508
3509         [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
3510         https://bugs.webkit.org/show_bug.cgi?id=46748
3511
3512         This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
3513         Added a regression test to tst_QWebFrame.
3514
3515         * bridge/qt/qt_instance.cpp:
3516         (JSC::Bindings::QtInstance::QtInstance):
3517
3518 2011-01-27  MORITA Hajime  <morrita@google.com>
3519
3520         Reviewed by Dimitri Glazkov.
3521         
3522         Convert <progress> shadow DOM to a DOM-based shadow.
3523         https://bugs.webkit.org/show_bug.cgi?id=50660
3524
3525         * Removed RenderProgress::m_valuePart, moved the shadow node
3526           to the shadow root of HTMLProgressElement.
3527         * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
3528           ProgressBarValueElement is defined only for overriding
3529           shadowPseudoId().
3530         
3531         No new tests. No behavioral change.
3532
3533         * css/CSSSelector.cpp:
3534         (WebCore::CSSSelector::pseudoId):
3535         (WebCore::nameToPseudoTypeMap):
3536         (WebCore::CSSSelector::extractPseudoType):
3537         * css/CSSSelector.h:
3538         * html/HTMLProgressElement.cpp:
3539         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
3540         (WebCore::ProgressBarValueElement::shadowPseudoId):
3541         (WebCore::ProgressBarValueElement::create):
3542         (WebCore::ProgressBarValueElement::detach):
3543         (WebCore::HTMLProgressElement::parseMappedAttribute):
3544         (WebCore::HTMLProgressElement::attach):
3545         (WebCore::HTMLProgressElement::valuePart):
3546         (WebCore::HTMLProgressElement::didElementStateChange):
3547         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
3548         * html/HTMLProgressElement.h:
3549         * rendering/RenderProgress.cpp:
3550         (WebCore::RenderProgress::~RenderProgress):
3551         (WebCore::RenderProgress::updateFromElement):
3552         (WebCore::RenderProgress::layoutParts):
3553         (WebCore::RenderProgress::shouldHaveParts):
3554         (WebCore::RenderProgress::valuePart):
3555         * rendering/RenderProgress.h:
3556         * rendering/style/RenderStyleConstants.h:
3557
3558 2011-01-31  Charlie Reis  <creis@chromium.org>
3559
3560         Reviewed by Mihai Parparita.