6a09138844fbd643290e9efae9149d748bbd6c94
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-12  Sam Weinig  <sam@webkit.org>
2
3         Use __builtin_trap() for CRASH when building with clang
4         https://bugs.webkit.org/show_bug.cgi?id=66152
5
6         Reviewed by Anders Carlsson.
7
8         * bindings/js/SerializedScriptValue.cpp:
9         (WebCore::CloneBase::fail):
10         * bindings/objc/WebScriptObject.mm:
11         * platform/mac/BlockExceptions.h:
12         * platform/text/cf/StringImplCF.cpp:
13         Add NO_RETURN_DUE_TO_ASSERT.
14
15         * bridge/IdentifierRep.h:
16         Don't define the destructor since it is never called,
17
18 2011-08-12  Joseph Pecoraro  <joepeck@webkit.org>
19
20         Abandoned Memory: Temporary CSS Fonts May Never Be Purged
21         https://bugs.webkit.org/show_bug.cgi?id=66153
22
23         Reviewed by Dan Bernstein.
24
25         No new tests, this is not a functional change.
26
27         * css/CSSFontFaceSource.cpp:
28         (WebCore::CSSFontFaceSource::getFontData):
29         If the CSS font-face is loading from a URL then immediately
30         fallback to a system font matching the description, since we
31         cannot determine a reasonable family name from the m_string
32         URL. The URL could be a dataURI.
33
34 2011-08-12  Fady Samuel  <fsamuel@chromium.org>
35
36         Refactoring of PopupMenuChromium For Readability and Maintainability
37         https://bugs.webkit.org/show_bug.cgi?id=66009
38
39         Reviewed by Darin Fisher.
40
41         Split PopupMenuChromium into three sets of files: PopupMenuChromium.{h|cpp}, PopupContainer.{h|cpp},
42         and PopupLisBox.{h|cpp}  for readability and maintainability.
43
44         No new tests as there's no change in functionality.
45
46         * WebCore.gypi:
47         * platform/chromium/PopupContainer.cpp: Added.
48         (WebCore::constructRelativeMouseEvent):
49         (WebCore::constructRelativeWheelEvent):
50         (WebCore::PopupContainer::create):
51         (WebCore::PopupContainer::PopupContainer):
52         (WebCore::PopupContainer::~PopupContainer):
53         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
54         (WebCore::PopupContainer::showPopup):
55         (WebCore::PopupContainer::hidePopup):
56         (WebCore::PopupContainer::notifyPopupHidden):
57         (WebCore::PopupContainer::layoutAndGetRTLOffset):
58         (WebCore::PopupContainer::handleMouseDownEvent):
59         (WebCore::PopupContainer::handleMouseMoveEvent):
60         (WebCore::PopupContainer::handleMouseReleaseEvent):
61         (WebCore::PopupContainer::handleWheelEvent):
62         (WebCore::PopupContainer::handleTouchEvent):
63         (WebCore::PopupContainer::handleGestureEvent):
64         (WebCore::PopupContainer::handleKeyEvent):
65         (WebCore::PopupContainer::hide):
66         (WebCore::PopupContainer::paint):
67         (WebCore::PopupContainer::paintBorder):
68         (WebCore::PopupContainer::isInterestedInEventForKey):
69         (WebCore::PopupContainer::chromeClientChromium):
70         (WebCore::PopupContainer::showInRect):
71         (WebCore::PopupContainer::refresh):
72         (WebCore::PopupContainer::isRTL):
73         (WebCore::PopupContainer::selectedIndex):
74         (WebCore::PopupContainer::menuItemHeight):
75         (WebCore::PopupContainer::menuItemFontSize):
76         (WebCore::PopupContainer::menuStyle):
77         (WebCore::popupData):
78         (WebCore::PopupContainer::getSelectedItemToolTip):
79         * platform/chromium/PopupContainer.h: Added.
80         (WebCore::PopupContainer::listBox):
81         (WebCore::PopupContainer::popupType):
82         * platform/chromium/PopupListBox.cpp: Added.
83         (WebCore::PopupListBox::PopupListBox):
84         (WebCore::PopupListBox::handleMouseDownEvent):
85         (WebCore::PopupListBox::handleMouseMoveEvent):
86         (WebCore::PopupListBox::handleMouseReleaseEvent):
87         (WebCore::PopupListBox::handleWheelEvent):
88         (WebCore::PopupListBox::isInterestedInEventForKey):
89         (WebCore::PopupListBox::handleTouchEvent):
90         (WebCore::PopupListBox::handleGestureEvent):
91         (WebCore::isCharacterTypeEvent):
92         (WebCore::PopupListBox::handleKeyEvent):
93         (WebCore::PopupListBox::hostWindow):
94         (WebCore::stripLeadingWhiteSpace):
95         (WebCore::PopupListBox::typeAheadFind):
96         (WebCore::PopupListBox::paint):
97         (WebCore::PopupListBox::paintRow):
98         (WebCore::PopupListBox::getRowFont):
99         (WebCore::PopupListBox::abandon):
100         (WebCore::PopupListBox::pointToRowIndex):
101         (WebCore::PopupListBox::acceptIndex):
102         (WebCore::PopupListBox::selectIndex):
103         (WebCore::PopupListBox::setOriginalIndex):
104         (WebCore::PopupListBox::getRowHeight):
105         (WebCore::PopupListBox::getRowBounds):
106         (WebCore::PopupListBox::invalidateRow):
107         (WebCore::PopupListBox::scrollToRevealRow):
108         (WebCore::PopupListBox::isSelectableItem):
109         (WebCore::PopupListBox::clearSelection):
110         (WebCore::PopupListBox::selectNextRow):
111         (WebCore::PopupListBox::selectPreviousRow):
112         (WebCore::PopupListBox::adjustSelectedIndex):
113         (WebCore::PopupListBox::hidePopup):
114         (WebCore::PopupListBox::updateFromElement):
115         (WebCore::PopupListBox::setMaxWidthAndLayout):
116         (WebCore::PopupListBox::layout):
117         (WebCore::PopupListBox::clear):
118         (WebCore::PopupListBox::isPointInBounds):
119         * platform/chromium/PopupListBox.h: Added.
120         (WebCore::PopupItem::PopupItem):
121         (WebCore::PopupListBox::create):
122         (WebCore::PopupListBox::selectedIndex):
123         (WebCore::PopupListBox::numItems):
124         (WebCore::PopupListBox::setBaseWidth):
125         (WebCore::PopupListBox::setMaxHeight):
126         (WebCore::PopupListBox::setMaxWidth):
127         (WebCore::PopupListBox::disconnectClient):
128         (WebCore::PopupListBox::items):
129         (WebCore::PopupListBox::~PopupListBox):
130         (WebCore::PopupListBox::scrollToRevealSelection):
131         * platform/chromium/PopupMenuChromium.cpp:
132         * platform/chromium/PopupMenuChromium.h:
133
134 2011-08-12  Mark Rowe  <mrowe@apple.com>
135
136         Be more forward-looking in the choice of compiler.
137
138         Rubber-stamped by Jon Honeycutt.
139
140         * Configurations/CompilerVersion.xcconfig:
141
142 2011-08-12  Nat Duca  <nduca@chromium.org>
143
144         [chromium] Fix comile warning on CCLayerTreeHost
145
146         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
147         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
148
149 2011-08-12  Ryosuke Niwa  <rniwa@webkit.org>
150
151         Apple-style-span class seems unnecessary
152         https://bugs.webkit.org/show_bug.cgi?id=12248
153
154         Reviewed by Justin Garcia.
155
156         Stop generating span or font elements with class="Apple-style-span" given WebKit's editing component
157         no longer depends on Apple-style-span since r92823 removed the dependency of copy and paste code on
158         style spans. WebKit continues to recognize Apple style spans to remove them.
159
160         Also renamed isSpanWithoutAttributesOrUnstyleStyleSpan to isSpanWithoutAttributesOrUnstyle*d*StyleSpan.
161
162         * editing/ApplyStyleCommand.cpp:
163         (WebCore::isLegacyAppleStyleSpan): Renamed from isStyleSpan.
164         (WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan): Renamed from isSpanWithoutAttributesOr*Unstyle*StyleSpan.
165         (WebCore::createFontElement): No longer adds class="Apple-style-span".
166         (WebCore::createStyleSpanElement): Ditto.
167         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Calls isSpanWithoutAttributesOrUnstyleStyleSpan
168         instead of isUnstyledStyleSpan since there won't be any Apple style spans.
169         (WebCore::dummySpanAncestorForNode):
170         (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans): Ditto.
171         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
172         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
173         (WebCore::ApplyStyleCommand::removeCSSStyle):
174         * editing/ApplyStyleCommand.h:
175         * editing/EditingStyle.cpp:
176         (WebCore::EditingStyle::removeStyleFromRulesAndContext): Ditto.
177         * editing/ReplaceSelectionCommand.cpp:
178         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Calls isLegacyAppleStyleSpan instead
179         of isStyleSpan.
180         (WebCore::handleStyleSpansBeforeInsertion): Ditto.
181         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Ditto.
182         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
183         * editing/markup.cpp:
184         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): No longer adds class="Apple-style-span".
185
186 2011-08-12  Nat Duca  <nduca@chromium.org>
187
188         [chromium] Fix compositor breakage due to duplicate context creation AND by context-lost
189         https://bugs.webkit.org/show_bug.cgi?id=66168
190
191         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
192         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
193         (WebCore::CCLayerTreeHost::initialize):
194
195 2011-08-12  Levi Weintraub  <leviw@chromium.org>
196
197         Switch RenderMenuList, RenderListBox, and RenderFieldSet to new layout units
198         https://bugs.webkit.org/show_bug.cgi?id=66149
199
200         Reviewed by Eric Seidel.
201
202         Changing RenderMenuList, RenderListBox, and RenderFieldSet to the LayoutUnit
203         abstraction from ints.
204
205         No tests as no change in functionality.
206
207         * rendering/RenderFieldset.cpp:
208         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
209         * rendering/RenderListBox.cpp:
210         (WebCore::RenderListBox::numVisibleItems):
211         (WebCore::RenderListBox::listHeight):
212         (WebCore::RenderListBox::baselinePosition):
213         (WebCore::RenderListBox::itemBoundingBoxRect):
214         (WebCore::itemOffsetForAlignment):
215         (WebCore::RenderListBox::panScroll):
216         (WebCore::RenderListBox::scrollToward):
217         (WebCore::RenderListBox::autoscroll):
218         (WebCore::RenderListBox::scrollSize):
219         (WebCore::RenderListBox::scrollPosition):
220         (WebCore::RenderListBox::setScrollOffset):
221         (WebCore::RenderListBox::itemHeight):
222         (WebCore::RenderListBox::verticalScrollbarWidth):
223         (WebCore::RenderListBox::scrollWidth):
224         (WebCore::RenderListBox::scrollHeight):
225         (WebCore::RenderListBox::scrollLeft):
226         (WebCore::RenderListBox::setScrollLeft):
227         (WebCore::RenderListBox::scrollTop):
228         (WebCore::RenderListBox::setScrollTop):
229         (WebCore::RenderListBox::controlClipRect):
230         (WebCore::RenderListBox::invalidateScrollbarRect):
231         (WebCore::RenderListBox::convertFromScrollbarToContainingView):
232         (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
233         (WebCore::RenderListBox::contentsSize):
234         (WebCore::RenderListBox::currentMousePosition):
235         * rendering/RenderListBox.h:
236         (WebCore::RenderListBox::scrollCornerRect):
237         (WebCore::RenderListBox::invalidateScrollCornerRect):
238         * rendering/RenderMenuList.cpp:
239         (WebCore::RenderMenuList::controlClipRect):
240         (WebCore::RenderMenuList::showPopup):
241         * rendering/RenderMenuList.h:
242
243 2011-08-12  David Hyatt  <hyatt@apple.com>
244
245         https://bugs.webkit.org/show_bug.cgi?id=66133
246         
247         Make hit testing work on RenderRegions. Pass off the hit testing to the RenderFlowThread
248         layer tree (just as we did with painting).
249
250         Reviewed by Sam Weinig.
251
252         Added hit-test-float.html to demonstrate basic hit testing of content flowed into regions.
253
254         * rendering/HitTestRequest.h:
255         (WebCore::HitTestRequest::type):
256         * rendering/RenderFlowThread.cpp:
257         (WebCore::RenderFlowThread::hitTestRegion):
258         * rendering/RenderFlowThread.h:
259         * rendering/RenderRegion.cpp:
260         (WebCore::RenderRegion::paintReplaced):
261         (WebCore::RenderRegion::nodeAtPoint):
262         * rendering/RenderRegion.h:
263
264 2011-08-12  Levi Weintraub  <leviw@chromium.org>
265
266         Switch RenderTable* to new layout types
267         https://bugs.webkit.org/show_bug.cgi?id=66146
268
269         Reviewed by Eric Seidel.
270
271         Converting RenderTable* classes to new LayoutUnits from ints.
272
273         No new tests as no new functionality.
274
275         * rendering/RenderTable.cpp:
276         (WebCore::RenderTable::firstLineBoxBaseline):
277         (WebCore::RenderTable::overflowClipRect):
278         * rendering/RenderTable.h:
279         (WebCore::RenderTable::columnPositions):
280         * rendering/RenderTableCol.cpp:
281         (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
282         * rendering/RenderTableRow.cpp:
283         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
284         * rendering/RenderTableSection.cpp:
285         (WebCore::RenderTableSection::setCellLogicalWidths):
286         (WebCore::RenderTableSection::calcRowLogicalHeight):
287         (WebCore::RenderTableSection::layoutRows):
288         (WebCore::RenderTableSection::calcOuterBorderBefore):
289         (WebCore::RenderTableSection::calcOuterBorderAfter):
290         (WebCore::RenderTableSection::calcOuterBorderStart):
291         (WebCore::RenderTableSection::calcOuterBorderEnd):
292         (WebCore::RenderTableSection::firstLineBoxBaseline):
293         (WebCore::RenderTableSection::paintObject):
294         (WebCore::RenderTableSection::nodeAtPoint):
295         * rendering/RenderTableSection.h:
296         (WebCore::RenderTableSection::outerBorderBefore):
297         (WebCore::RenderTableSection::outerBorderAfter):
298         (WebCore::RenderTableSection::outerBorderStart):
299         (WebCore::RenderTableSection::outerBorderEnd):
300         (WebCore::RenderTableSection::getBaseline):
301
302 2011-08-12  Adam Bergkvist  <adam.bergkvist@ericsson.com>
303
304         Reviewed by Alexey Proskuryakov.
305
306         EventSource loader should not buffer data
307         https://bugs.webkit.org/show_bug.cgi?id=61863
308
309         Disabled buffering in the EventSource loader.
310
311         Added a manual test.
312
313         * manual-tests/eventsource/eventsource-loader-buffering.html: Added.
314         * manual-tests/eventsource/eventsource-loader-buffering.php: Added.
315         * page/EventSource.cpp:
316         (WebCore::EventSource::connect):
317
318 2011-08-11  Pratik Solanki  <psolanki@apple.com>
319
320         ResourceLoader::didReceiveDataArray() does not handle m_shouldBufferData correctly
321         https://bugs.webkit.org/show_bug.cgi?id=65926
322
323         Reviewed by Alexey Proskuryakov.
324
325         * loader/mac/ResourceLoaderMac.mm:
326         (WebCore::ResourceLoader::didReceiveDataArray): Make sure we call the client callbacks when
327         m_shouldBufferData is set to false.
328
329 2011-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
330
331         Unreviewed, rolling out r92976.
332         http://trac.webkit.org/changeset/92976
333         https://bugs.webkit.org/show_bug.cgi?id=66159
334
335         Does not compile on chromium-win (Requested by abarth|gardener
336         on #webkit).
337
338         * WebCore.gypi:
339         * platform/chromium/PopupContainer.cpp: Removed.
340         * platform/chromium/PopupContainer.h: Removed.
341         * platform/chromium/PopupListBox.cpp: Removed.
342         * platform/chromium/PopupListBox.h: Removed.
343         * platform/chromium/PopupMenuChromium.cpp:
344         (WebCore::PopupListBox::create):
345         (WebCore::PopupListBox::selectedIndex):
346         (WebCore::PopupListBox::numItems):
347         (WebCore::PopupListBox::setBaseWidth):
348         (WebCore::PopupListBox::setMaxHeight):
349         (WebCore::PopupListBox::setMaxWidth):
350         (WebCore::PopupListBox::disconnectClient):
351         (WebCore::PopupListBox::items):
352         (WebCore::PopupListBox::PopupListBox):
353         (WebCore::PopupListBox::~PopupListBox):
354         (WebCore::PopupListBox::scrollToRevealSelection):
355         (WebCore::constructRelativeMouseEvent):
356         (WebCore::constructRelativeWheelEvent):
357         (WebCore::PopupContainer::create):
358         (WebCore::PopupContainer::PopupContainer):
359         (WebCore::PopupContainer::~PopupContainer):
360         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
361         (WebCore::PopupContainer::showPopup):
362         (WebCore::PopupContainer::hidePopup):
363         (WebCore::PopupContainer::notifyPopupHidden):
364         (WebCore::PopupContainer::layoutAndGetRTLOffset):
365         (WebCore::PopupContainer::handleMouseDownEvent):
366         (WebCore::PopupContainer::handleMouseMoveEvent):
367         (WebCore::PopupContainer::handleMouseReleaseEvent):
368         (WebCore::PopupContainer::handleWheelEvent):
369         (WebCore::PopupContainer::handleTouchEvent):
370         (WebCore::PopupContainer::handleGestureEvent):
371         (WebCore::PopupContainer::handleKeyEvent):
372         (WebCore::PopupContainer::hide):
373         (WebCore::PopupContainer::paint):
374         (WebCore::PopupContainer::paintBorder):
375         (WebCore::PopupContainer::isInterestedInEventForKey):
376         (WebCore::PopupContainer::chromeClientChromium):
377         (WebCore::PopupContainer::showInRect):
378         (WebCore::PopupContainer::refresh):
379         (WebCore::PopupContainer::isRTL):
380         (WebCore::PopupContainer::selectedIndex):
381         (WebCore::PopupContainer::menuItemHeight):
382         (WebCore::PopupContainer::menuItemFontSize):
383         (WebCore::PopupContainer::menuStyle):
384         (WebCore::popupData):
385         (WebCore::PopupContainer::getSelectedItemToolTip):
386         (WebCore::PopupListBox::handleMouseDownEvent):
387         (WebCore::PopupListBox::handleMouseMoveEvent):
388         (WebCore::PopupListBox::handleMouseReleaseEvent):
389         (WebCore::PopupListBox::handleWheelEvent):
390         (WebCore::PopupListBox::isInterestedInEventForKey):
391         (WebCore::PopupListBox::handleTouchEvent):
392         (WebCore::PopupListBox::handleGestureEvent):
393         (WebCore::isCharacterTypeEvent):
394         (WebCore::PopupListBox::handleKeyEvent):
395         (WebCore::PopupListBox::hostWindow):
396         (WebCore::stripLeadingWhiteSpace):
397         (WebCore::PopupListBox::typeAheadFind):
398         (WebCore::PopupListBox::paint):
399         (WebCore::PopupListBox::paintRow):
400         (WebCore::PopupListBox::getRowFont):
401         (WebCore::PopupListBox::abandon):
402         (WebCore::PopupListBox::pointToRowIndex):
403         (WebCore::PopupListBox::acceptIndex):
404         (WebCore::PopupListBox::selectIndex):
405         (WebCore::PopupListBox::setOriginalIndex):
406         (WebCore::PopupListBox::getRowHeight):
407         (WebCore::PopupListBox::getRowBounds):
408         (WebCore::PopupListBox::invalidateRow):
409         (WebCore::PopupListBox::scrollToRevealRow):
410         (WebCore::PopupListBox::isSelectableItem):
411         (WebCore::PopupListBox::clearSelection):
412         (WebCore::PopupListBox::selectNextRow):
413         (WebCore::PopupListBox::selectPreviousRow):
414         (WebCore::PopupListBox::adjustSelectedIndex):
415         (WebCore::PopupListBox::hidePopup):
416         (WebCore::PopupListBox::updateFromElement):
417         (WebCore::PopupListBox::setMaxWidthAndLayout):
418         (WebCore::PopupListBox::layout):
419         (WebCore::PopupListBox::clear):
420         (WebCore::PopupListBox::isPointInBounds):
421         * platform/chromium/PopupMenuChromium.h:
422         (WebCore::PopupItem::PopupItem):
423         (WebCore::PopupContainer::listBox):
424         (WebCore::PopupContainer::popupType):
425
426 2011-08-12  Andy Estes  <aestes@apple.com>
427
428         Cancel in onbeforeunload dialog sometime causes a button to stop working.
429         https://bugs.webkit.org/show_bug.cgi?id=26211
430
431         Reviewed by Alexey Proskuryakov.
432
433         Test: fast/loader/form-submission-after-beforeunload-cancel.html
434
435         If an onbeforeunload handler cancels a navigation that was triggered by
436         a form submission, WebCore's multiple form submission protection
437         prevents the form from being submitted a second time even though no
438         first submission actually took place. Fix this by clearing
439         m_submittedFormURL if the onbeforeunload handler cancels the load. This
440         allows the submission to be retried.
441
442         * loader/FrameLoader.cpp:
443         (WebCore::FrameLoader::shouldClose): Set m_submittedFormURL to KURL()
444         if shouldClose() will return false.
445
446 2011-08-12  David Hyatt  <hyatt@apple.com>
447
448         https://bugs.webkit.org/show_bug.cgi?id=66130
449         
450         RenderRegions need to paint the entire RenderFlowThread layer tree. Instead of just calling
451         paintBlock, make sure RenderRegions paint the flow thread's layer tree instead with the appropriate
452         offset.
453         
454         Fix RenderRegions to derive from RenderReplaced instead of RenderBox, since it simplifies the code.
455         They no longer have to subclass their own layout method or worry about all of the painting logic
456         for anything other than the content area.
457
458         Reviewed by Anders Carlsson.
459
460         Existing tests have a layer tree example, and so those results are updated to show the tree now.
461
462         * rendering/RenderFlowThread.cpp:
463         (WebCore::RenderFlowThread::createFlowThreadStyle):
464         (WebCore::RenderFlowThread::paintIntoRegion):
465         * rendering/RenderLayer.cpp:
466         (WebCore::RenderLayer::collectLayers):
467         * rendering/RenderRegion.cpp:
468         (WebCore::RenderRegion::RenderRegion):
469         (WebCore::RenderRegion::paintReplaced):
470         (WebCore::RenderRegion::styleDidChange):
471         * rendering/RenderRegion.h:
472
473 2011-08-12  Chris Rogers  <crogers@google.com>
474
475         Fix mac build when web audio is enabled
476         https://bugs.webkit.org/show_bug.cgi?id=66150
477
478         Unreviewed build fix.
479
480         * platform/audio/mac/AudioFileReaderMac.cpp:
481         (WebCore::AudioFileReader::createBus):
482
483 2011-08-12  Jeff Miller  <jeffm@apple.com>
484
485         Need to handle kCACFContextNeedsFlushNotification notifications that arrive after the AVFWrapper has been disposed
486         https://bugs.webkit.org/show_bug.cgi?id=65724
487
488         Instead of using a pointer to the AVFWrapper object as the context for various callbacks, assign each object an
489         ID and use that instead. Keep track of the mapping between object IDs and AVFWrapper objects in a HashMap, and manage
490         access to this map using a Mutex since it can be accessed from multiple threads. This allows us to actually delete
491         AVFWrapper objects instead of leaking them (which we were doing before to prevent crashes).
492
493         Reviewed by Eric Carlson.
494
495         No new tests, uses existing media tests.
496
497         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
498         (WebCore::AVFWrapper::callbackContext): Added.
499         (WebCore::AVFWrapper::AVFWrapper): Initialize m_objectID and add it to the HashMap.
500         (WebCore::AVFWrapper::~AVFWrapper): Log object ID and remove obsolete assert.
501         (WebCore::AVFWrapper::mapLock): Added.
502         (WebCore::AVFWrapper::map): Added.
503         (WebCore::AVFWrapper::addToMap): Added.
504         (WebCore::AVFWrapper::removeFromMap): Added.
505         (WebCore::AVFWrapper::avfWrapperForCallbackContext): Added.
506         (WebCore::AVFWrapper::scheduleDisconnectAndDelete): Remove AVFWrapper from HashMap instead of zeroing m_owner.
507         (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Use callbackContext(), delete the AVFWrapper here.
508         (WebCore::AVFWrapper::createPlayer): Use callbackContext().
509         (WebCore::AVFWrapper::createPlayerItem): Use callbackContext().
510         (WebCore::AVFWrapper::periodicTimeObserverCallback): Retrieve AVFWrapper using the HashMap.
511         (WebCore::AVFWrapper::notificationCallback): Retrieve AVFWrapper using the HashMap.
512         (WebCore::AVFWrapper::loadPlayableCompletionCallback): Retrieve AVFWrapper using the HashMap.
513         (WebCore::AVFWrapper::checkPlayability): Use callbackContext().
514         (WebCore::AVFWrapper::loadMetadataCompletionCallback): Retrieve AVFWrapper using the HashMap.
515         (WebCore::AVFWrapper::beginLoadingMetadata): Use callbackContext().
516         (WebCore::AVFWrapper::seekCompletedCallback): Retrieve AVFWrapper using the HashMap.
517         (WebCore::AVFWrapper::seekToTime): Use callbackContext().
518         (WebCore::AVFWrapper::platformLayer): Remove overly noisy LOG().
519
520 2011-08-12  Fady Samuel  <fsamuel@chromium.org>
521
522         Refactoring of PopupMenuChromium
523         https://bugs.webkit.org/show_bug.cgi?id=66009
524
525         Reviewed by Darin Fisher.
526
527         Split PopupMenuChromium into three sets of files: PopupMenuChromium.{h|cpp}, PopupContainer.{h|cpp}, and PopupLisBox.{h|cpp}
528         for readability and maintainability.
529
530         No new tests as no functionality has changed.
531
532         * WebCore.gypi:
533         * platform/chromium/PopupContainer.cpp: Added.
534         (WebCore::constructRelativeMouseEvent):
535         (WebCore::constructRelativeWheelEvent):
536         (WebCore::PopupContainer::create):
537         (WebCore::PopupContainer::PopupContainer):
538         (WebCore::PopupContainer::~PopupContainer):
539         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
540         (WebCore::PopupContainer::showPopup):
541         (WebCore::PopupContainer::hidePopup):
542         (WebCore::PopupContainer::notifyPopupHidden):
543         (WebCore::PopupContainer::layoutAndGetRTLOffset):
544         (WebCore::PopupContainer::handleMouseDownEvent):
545         (WebCore::PopupContainer::handleMouseMoveEvent):
546         (WebCore::PopupContainer::handleMouseReleaseEvent):
547         (WebCore::PopupContainer::handleWheelEvent):
548         (WebCore::PopupContainer::handleTouchEvent):
549         (WebCore::PopupContainer::handleGestureEvent):
550         (WebCore::PopupContainer::handleKeyEvent):
551         (WebCore::PopupContainer::hide):
552         (WebCore::PopupContainer::paint):
553         (WebCore::PopupContainer::paintBorder):
554         (WebCore::PopupContainer::isInterestedInEventForKey):
555         (WebCore::PopupContainer::chromeClientChromium):
556         (WebCore::PopupContainer::showInRect):
557         (WebCore::PopupContainer::refresh):
558         (WebCore::PopupContainer::isRTL):
559         (WebCore::PopupContainer::selectedIndex):
560         (WebCore::PopupContainer::menuItemHeight):
561         (WebCore::PopupContainer::menuItemFontSize):
562         (WebCore::PopupContainer::menuStyle):
563         (WebCore::popupData):
564         (WebCore::PopupContainer::getSelectedItemToolTip):
565         * platform/chromium/PopupContainer.h: Added.
566         (WebCore::PopupContainer::listBox):
567         (WebCore::PopupContainer::popupType):
568         * platform/chromium/PopupListBox.cpp: Added.
569         (WebCore::PopupListBox::PopupListBox):
570         (WebCore::PopupListBox::handleMouseDownEvent):
571         (WebCore::PopupListBox::handleMouseMoveEvent):
572         (WebCore::PopupListBox::handleMouseReleaseEvent):
573         (WebCore::PopupListBox::handleWheelEvent):
574         (WebCore::PopupListBox::isInterestedInEventForKey):
575         (WebCore::PopupListBox::handleTouchEvent):
576         (WebCore::PopupListBox::handleGestureEvent):
577         (WebCore::isCharacterTypeEvent):
578         (WebCore::PopupListBox::handleKeyEvent):
579         (WebCore::PopupListBox::hostWindow):
580         (WebCore::stripLeadingWhiteSpace):
581         (WebCore::PopupListBox::typeAheadFind):
582         (WebCore::PopupListBox::paint):
583         (WebCore::PopupListBox::paintRow):
584         (WebCore::PopupListBox::getRowFont):
585         (WebCore::PopupListBox::abandon):
586         (WebCore::PopupListBox::pointToRowIndex):
587         (WebCore::PopupListBox::acceptIndex):
588         (WebCore::PopupListBox::selectIndex):
589         (WebCore::PopupListBox::setOriginalIndex):
590         (WebCore::PopupListBox::getRowHeight):
591         (WebCore::PopupListBox::getRowBounds):
592         (WebCore::PopupListBox::invalidateRow):
593         (WebCore::PopupListBox::scrollToRevealRow):
594         (WebCore::PopupListBox::isSelectableItem):
595         (WebCore::PopupListBox::clearSelection):
596         (WebCore::PopupListBox::selectNextRow):
597         (WebCore::PopupListBox::selectPreviousRow):
598         (WebCore::PopupListBox::adjustSelectedIndex):
599         (WebCore::PopupListBox::hidePopup):
600         (WebCore::PopupListBox::updateFromElement):
601         (WebCore::PopupListBox::setMaxWidthAndLayout):
602         (WebCore::PopupListBox::layout):
603         (WebCore::PopupListBox::clear):
604         (WebCore::PopupListBox::isPointInBounds):
605         * platform/chromium/PopupListBox.h: Added.
606         (WebCore::PopupItem::PopupItem):
607         (WebCore::PopupListBox::create):
608         (WebCore::PopupListBox::selectedIndex):
609         (WebCore::PopupListBox::numItems):
610         (WebCore::PopupListBox::setBaseWidth):
611         (WebCore::PopupListBox::setMaxHeight):
612         (WebCore::PopupListBox::setMaxWidth):
613         (WebCore::PopupListBox::disconnectClient):
614         (WebCore::PopupListBox::items):
615         (WebCore::PopupListBox::~PopupListBox):
616         (WebCore::PopupListBox::scrollToRevealSelection):
617         * platform/chromium/PopupMenuChromium.cpp:
618         * platform/chromium/PopupMenuChromium.h:
619
620 2011-08-12  Sam Weinig  <sam@webkit.org>
621
622         Move compiler specific macros to their own header
623         https://bugs.webkit.org/show_bug.cgi?id=66119
624
625         Reviewed by Anders Carlsson.
626
627         * ForwardingHeaders/wtf/Compiler.h: Added.
628
629 2011-08-12  No'am Rosenthal  <noam.rosenthal@nokia.com>
630
631         [Qt][REGRESSION] composited content doesn't render since r92651
632         https://bugs.webkit.org/show_bug.cgi?id=66108
633
634         Reviewed by Benjamin Poulain.
635
636         Changed the signature for GraphicsLayerTextureMapper::syncCompositingState to match
637         the new signature in GraphicsLayer.h.
638
639         No new tests. This is a regression that's covered by existing pixel tests.
640
641         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
642         (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
643         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
644
645 2011-08-12  Alexandru Chiculita  <achicu@adobe.com>
646
647         Original patch by Mihnea Ovidenie <mihnea@adobe.com>.
648         Also contains some improvements done by Dave Hyatt <hyatt@apple.com>.
649
650         [CSSRegions]RenderFlowThread should display its content using RenderRegion
651         https://bugs.webkit.org/show_bug.cgi?id=65627
652
653         RenderFlowThread collects RenderObjects from a flow. These objects are displayed by means
654         of RenderRegion objects that get the content from the same flow.
655
656         Reviewed by David Hyatt.
657
658         Tests: fast/regions/content-flowed-into-regions-dynamically-added.html
659                fast/regions/content-flowed-into-regions-dynamically-removed.html
660                fast/regions/content-flowed-into-regions-with-dyn-index.html
661                fast/regions/content-flowed-into-regions-with-index-dom.html
662                fast/regions/content-flowed-into-regions-with-index.html
663                fast/regions/content-flowed-into-regions.html
664                fast/regions/flow-content-basic-vertical-rl.html
665                fast/regions/flow-content-basic-vertical.html
666
667         * dom/Node.cpp:
668         (WebCore::Node::diff):
669         * rendering/RenderFlowThread.cpp:
670         (WebCore::RenderFlowThread::RenderFlowThread):
671         (WebCore::RenderFlowThread::createFlowThreadStyle):
672         (WebCore::RenderFlowThread::styleDidChange):
673         (WebCore::compareRenderRegions):
674         (WebCore::RenderFlowThread::addRegionToThread):
675         (WebCore::RenderFlowThread::removeRegionFromThread):
676         (WebCore::RenderFlowThread::layout):
677         (WebCore::RenderFlowThread::computeLogicalWidth):
678         (WebCore::RenderFlowThread::computeLogicalHeight):
679         (WebCore::RenderFlowThread::paintIntoRegion):
680         * rendering/RenderFlowThread.h:
681         * rendering/RenderObject.cpp:
682         (WebCore::RenderObject::createObject):
683         * rendering/RenderRegion.cpp:
684         (WebCore::RenderRegion::RenderRegion):
685         (WebCore::RenderRegion::~RenderRegion):
686         (WebCore::RenderRegion::paint):
687         (WebCore::RenderRegion::styleDidChange):
688         * rendering/RenderRegion.h:
689         (WebCore::RenderRegion::setRegionRect):
690         (WebCore::RenderRegion::regionRect):
691         * rendering/RenderTreeAsText.cpp:
692         (WebCore::writeLayers):
693         * rendering/RenderView.cpp:
694         (WebCore::RenderView::styleDidChange):
695         (WebCore::RenderView::renderFlowThreadWithName):
696         * rendering/RenderView.h:
697
698 2011-08-12  Abhishek Arya  <inferno@chromium.org>
699
700         Crash in WebCore::editingIgnoresContent
701         https://bugs.webkit.org/show_bug.cgi?id=66125
702
703         Reviewed by Ryosuke Niwa.
704
705         RefPtr a few nodes in case they get blown away in
706         dispatchEvent calls.
707
708         Test: editing/selection/select-start-remove-root-crash.html
709
710         * editing/FrameSelection.cpp:
711         (WebCore::FrameSelection::selectAll):
712         * editing/ReplaceSelectionCommand.cpp:
713         (WebCore::ReplacementFragment::ReplacementFragment):
714
715 2011-08-11  Pavel Podivilov  <podivilov@chromium.org>
716
717         Web Inspector: properly update console message count in source frames and resources panel.
718         https://bugs.webkit.org/show_bug.cgi?id=57009
719
720         Reviewed by Yury Semikhatsky.
721
722         * inspector/front-end/ConsoleView.js:
723         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
724         * inspector/front-end/SourceFrame.js:
725         (WebInspector.SourceFrame.prototype.show):
726         (WebInspector.SourceFrame.prototype.addMessageToSource):
727         (WebInspector.SourceFrame.prototype._updateMessageRepeatCount):
728
729 2011-08-12  Pavel Feldman  <pfeldman@google.com>
730
731         Not reviewed: follow up to inspector test breakage.
732
733         * inspector/front-end/ScriptsPanel.js:
734         (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
735
736 2011-08-12  Yury Semikhatsky  <yurys@chromium.org>
737
738         Web Inspector: expand exception properties when wrapping it as object.
739         https://bugs.webkit.org/show_bug.cgi?id=66035
740
741         Use toString() value as a description for value thrown during eval.
742
743         Reviewed by Pavel Feldman.
744
745         * inspector/InjectedScriptSource.js:
746         (.):
747
748 2011-08-12  Pavel Feldman  <pfeldman@google.com>
749
750         Web Inspector: make folders optional in the Scripts' panel file selector.
751         https://bugs.webkit.org/show_bug.cgi?id=66100
752
753         Reviewed by Yury Semikhatsky.
754
755         * English.lproj/localizedStrings.js:
756         * inspector/front-end/ScriptsPanel.js:
757         (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
758         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
759         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
760         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
761         (WebInspector.ScriptsPanel.prototype.reset):
762         (WebInspector.ScriptsPanel.prototype._resetFilesSelect):
763         * inspector/front-end/Settings.js:
764         (WebInspector.Settings):
765         * inspector/front-end/SettingsScreen.js:
766         (WebInspector.SettingsScreen):
767
768 2011-08-12  Pavel Podivilov  <podivilov@chromium.org>
769
770         Web Inspector: add space between error info and error message in source frame message bubble.
771         https://bugs.webkit.org/show_bug.cgi?id=65069
772
773         Reviewed by Pavel Feldman.
774
775         * inspector/front-end/ConsoleView.js:
776         (WebInspector.ConsoleMessage.prototype._formatMessage):
777
778 2011-08-12  Pavel Feldman  <pfeldman@google.com>
779
780         Web Inspector: console loses focus upon reloading the page from the inspector.
781         https://bugs.webkit.org/show_bug.cgi?id=66068
782
783         Reviewed by Yury Semikhatsky.
784
785         * inspector/front-end/AuditsPanel.js:
786         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
787         (WebInspector.AuditsPanel.prototype._clearButtonClicked):
788         * inspector/front-end/DataGrid.js:
789         (WebInspector.DataGrid.prototype.revealAndSelect):
790         (WebInspector.DataGridNode.prototype.revealAndSelect):
791         * inspector/front-end/DetailedHeapshotView.js:
792         (WebInspector.DetailedHeapshotView.prototype._jumpToSearchResult):
793         * inspector/front-end/ElementsPanel.js:
794         (WebInspector.ElementsPanel.this.treeOutline.selectedNodeChanged):
795         (WebInspector.ElementsPanel.get this):
796         (WebInspector.ElementsPanel):
797         (WebInspector.ElementsPanel.prototype._reset):
798         (WebInspector.ElementsPanel.prototype._setDocument.selectNode):
799         (WebInspector.ElementsPanel.prototype._setDocument.selectLastSelectedNode):
800         (WebInspector.ElementsPanel.prototype._setDocument):
801         (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
802         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
803         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
804         (WebInspector.ElementsPanel.prototype.selectedDOMNode):
805         (WebInspector.ElementsPanel.prototype.selectDOMNode):
806         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
807         (WebInspector.ElementsPanel.prototype.updateBreadcrumb.selectCrumbFunction):
808         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
809         (WebInspector.ElementsPanel.prototype.updateStyles):
810         (WebInspector.ElementsPanel.prototype.updateMetrics):
811         (WebInspector.ElementsPanel.prototype.updateProperties):
812         (WebInspector.ElementsPanel.prototype.updateEventListeners):
813         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
814         (WebInspector.ElementsPanel.prototype.updateFocusedNode):
815         * inspector/front-end/ElementsTreeOutline.js:
816         (WebInspector.ElementsTreeOutline):
817         (WebInspector.ElementsTreeOutline.prototype.selectedDOMNode):
818         (WebInspector.ElementsTreeOutline.prototype.selectDOMNode):
819         (WebInspector.ElementsTreeOutline.prototype.update):
820         (WebInspector.ElementsTreeOutline.prototype._revealAndSelectNode):
821         (WebInspector.ElementsTreeOutline.prototype._ondrop.callback):
822         (WebInspector.ElementsTreeOutline.prototype._ondrop):
823         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
824         (WebInspector.ElementsTreeElement.prototype._updateChildren):
825         (WebInspector.ElementsTreeElement.prototype.onselect):
826         (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
827         (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
828         (WebInspector.ElementsTreeElement.prototype._startEditing):
829         * inspector/front-end/Panel.js:
830         (WebInspector.Panel.prototype.reset):
831         * inspector/front-end/ProfileView.js:
832         (WebInspector.CPUProfileView.prototype._jumpToSearchResult):
833         * inspector/front-end/ProfilesPanel.js:
834         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
835         (WebInspector.ProfilesPanel.prototype.showProfile):
836         (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
837         * inspector/front-end/ResourcesPanel.js:
838         (WebInspector.ResourcesPanel.prototype._initDefaultSelection.get if):
839         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
840         (WebInspector.ResourcesPanel.prototype.reset):
841         (WebInspector.ResourcesPanel.prototype.showResource):
842         * inspector/front-end/StylesSidebarPane.js:
843         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
844         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
845         * inspector/front-end/TimelinePanel.js:
846         (WebInspector.TimelinePanel.prototype._createTopPane):
847         * inspector/front-end/inspector.js:
848         * inspector/front-end/inspectorCommon.css:
849         (body):
850         * inspector/front-end/treeoutline.js:
851         (TreeOutline.prototype.revealAndSelect):
852         (TreeElement.prototype.selectOnMouseDown):
853         (TreeElement.prototype.revealAndSelect):
854         (TreeElement.prototype.select):
855
856 2011-08-12  Yury Semikhatsky  <yurys@chromium.org>
857
858         Unreviewed. Inspector clean-up: remove unused method declaration from InspectorAgent.h
859
860         * inspector/InspectorAgent.h:
861
862 2011-08-12  Vsevolod Vlasov  <vsevik@chromium.org>
863
864         Web Inspector: Network resource identifier should have RequestId type and requestId name in protocol.
865         https://bugs.webkit.org/show_bug.cgi?id=66061
866
867         Reviewed by Pavel Feldman.
868
869         * inspector/ConsoleMessage.cpp:
870         (WebCore::ConsoleMessage::ConsoleMessage):
871         (WebCore::ConsoleMessage::addToFrontend):
872         * inspector/ConsoleMessage.h:
873         * inspector/IdentifiersFactory.cpp:
874         (WebCore::IdentifiersFactory::requestId):
875         * inspector/IdentifiersFactory.h:
876         * inspector/Inspector.json:
877         * inspector/InspectorConsoleAgent.cpp:
878         (WebCore::InspectorConsoleAgent::didReceiveResponse):
879         (WebCore::InspectorConsoleAgent::didFailLoading):
880         * inspector/InspectorResourceAgent.cpp:
881         (WebCore::InspectorResourceAgent::willSendRequest):
882         (WebCore::InspectorResourceAgent::markResourceAsCached):
883         (WebCore::InspectorResourceAgent::didReceiveResponse):
884         (WebCore::InspectorResourceAgent::didReceiveData):
885         (WebCore::InspectorResourceAgent::didFinishLoading):
886         (WebCore::InspectorResourceAgent::didFailLoading):
887         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
888         (WebCore::InspectorResourceAgent::setInitialScriptContent):
889         (WebCore::InspectorResourceAgent::didReceiveScriptResponse):
890         (WebCore::InspectorResourceAgent::setInitialXHRContent):
891         (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
892         (WebCore::InspectorResourceAgent::didCreateWebSocket):
893         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
894         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
895         (WebCore::InspectorResourceAgent::didCloseWebSocket):
896         (WebCore::InspectorResourceAgent::getResourceContent):
897         * inspector/InspectorResourceAgent.h:
898         * inspector/InspectorTimelineAgent.cpp:
899         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
900         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
901         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
902         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
903         * inspector/NetworkResourcesData.cpp:
904         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
905         (WebCore::NetworkResourcesData::resourceCreated):
906         (WebCore::NetworkResourcesData::responseReceived):
907         (WebCore::NetworkResourcesData::setResourceType):
908         (WebCore::NetworkResourcesData::resourceType):
909         (WebCore::NetworkResourcesData::setResourceContent):
910         (WebCore::NetworkResourcesData::maybeAddResourceData):
911         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
912         (WebCore::NetworkResourcesData::addCachedResource):
913         (WebCore::NetworkResourcesData::addResourceSharedBuffer):
914         (WebCore::NetworkResourcesData::data):
915         (WebCore::NetworkResourcesData::clear):
916         (WebCore::NetworkResourcesData::ensureNoDataForRequestId):
917         (WebCore::NetworkResourcesData::ensureFreeSpace):
918         * inspector/NetworkResourcesData.h:
919         (WebCore::NetworkResourcesData::ResourceData::requestId):
920         * inspector/TimelineRecordFactory.cpp:
921         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
922         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
923         (WebCore::TimelineRecordFactory::createResourceFinishData):
924         (WebCore::TimelineRecordFactory::createReceiveResourceData):
925         * inspector/TimelineRecordFactory.h:
926         * inspector/front-end/ConsoleView.js:
927         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
928         * inspector/front-end/ExtensionAPI.js:
929         (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
930         * inspector/front-end/ExtensionServer.js:
931         (WebInspector.ExtensionServer):
932         (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
933         (WebInspector.ExtensionServer.prototype._onGetHAR):
934         (WebInspector.ExtensionServer.prototype._requestId):
935         * inspector/front-end/NetworkManager.js:
936         (WebInspector.NetworkManager.prototype.requestContent):
937         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
938         (WebInspector.NetworkDispatcher.prototype.resourceMarkedAsCached):
939         (WebInspector.NetworkDispatcher.prototype.responseReceived):
940         (WebInspector.NetworkDispatcher.prototype.dataReceived):
941         (WebInspector.NetworkDispatcher.prototype.loadingFinished):
942         (WebInspector.NetworkDispatcher.prototype.loadingFailed):
943         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
944         (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
945         (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
946         (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
947         (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
948         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
949         (WebInspector.NetworkDispatcher.prototype._startResource):
950         (WebInspector.NetworkDispatcher.prototype._finishResource):
951         (WebInspector.NetworkDispatcher.prototype._createResource):
952         * inspector/front-end/NetworkPanel.js:
953         (WebInspector.NetworkLogView.prototype._appendResource):
954         (WebInspector.NetworkLogView.prototype._matchResource):
955         (WebInspector.NetworkLogView.prototype._updateSearchMatchedListAfterRequestIdChanged):
956         (WebInspector.NetworkLogView.prototype.performSearch):
957         * inspector/front-end/Resource.js:
958         (WebInspector.Resource):
959         * inspector/front-end/TimelinePanel.js:
960         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
961         (WebInspector.TimelinePanel.prototype._findParentRecord):
962         (WebInspector.TimelinePanel.FormattedRecord):
963
964 2011-08-11  Hans Wennborg  <hans@chromium.org>
965
966         IndexedDB: Object store records don't need to have keys in all indexes
967         https://bugs.webkit.org/show_bug.cgi?id=66049
968
969         Reviewed by Tony Chang.
970
971         Allow inserting records in an object store even though they don't
972         yield keys in some index. The spec has changed in this regard.
973
974         * storage/IDBObjectStoreBackendImpl.cpp:
975         (WebCore::IDBObjectStoreBackendImpl::putInternal):
976
977 2011-08-10  Hans Wennborg  <hans@chromium.org>
978
979         IndexedDB: Overwriting key in unique index should be possible
980         https://bugs.webkit.org/show_bug.cgi?id=65993
981
982         Reviewed by Tony Chang.
983
984         It should be possible to overwrite an object store record even if
985         there is a derived key for that record in an index with the unique flag set.
986
987         * storage/IDBBackingStore.h:
988         * storage/IDBIndexBackendImpl.cpp:
989         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
990         * storage/IDBIndexBackendImpl.h:
991         * storage/IDBLevelDBBackingStore.cpp:
992         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
993         * storage/IDBLevelDBBackingStore.h:
994         * storage/IDBObjectStoreBackendImpl.cpp:
995         (WebCore::IDBObjectStoreBackendImpl::putInternal):
996         * storage/IDBSQLiteBackingStore.cpp:
997         (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
998         * storage/IDBSQLiteBackingStore.h:
999
1000 2011-08-11  Yuta Kitamura  <yutak@chromium.org>
1001
1002         WebSocket: Implement "protocol" attribute
1003         https://bugs.webkit.org/show_bug.cgi?id=65248
1004
1005         Reviewed by Kent Tamura.
1006
1007         Tests: http/tests/websocket/tests/hybi/no-subprotocol.html (added)
1008                http/tests/websocket/tests/hybi/set-protocol.html (added)
1009                http/tests/websocket/tests/hybi/workers/no-subprotocol.html (added)
1010                http/tests/websocket/tests/hixie76/undefined-attributes.html (updated)
1011                http/tests/websocket/tests/hybi/multiple-subprotocols.html (updated)
1012                http/tests/websocket/tests/hybi/workers/multiple-subprotocols.html (updated)
1013
1014         * websockets/ThreadableWebSocketChannel.h:
1015         Added subprotocol() function. This function is named differently from the counterpart of
1016         WebSocket class, because the name "protocol" can be confused with the WebSocket protocol.
1017         Added m_useHixie76Protocol and m_subprotocol, because these value may be used after
1018         m_channel has been released. Using bool should be fine, because boolean literals do not
1019         appear in ambiguous context.
1020         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1021         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
1022         (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
1023         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
1024         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1025         * websockets/WebSocket.cpp:
1026         (WebCore::WebSocket::WebSocket):
1027         (WebCore::WebSocket::connect):
1028         (WebCore::WebSocket::protocol):
1029         The "protocol" attribute is available only when the hybi-10 protocol is chosen.
1030         (WebCore::WebSocket::binaryType):
1031         (WebCore::WebSocket::setBinaryType):
1032         (WebCore::WebSocket::didConnect):
1033         * websockets/WebSocket.h:
1034         * websockets/WebSocket.idl:
1035         * websockets/WebSocketChannel.cpp:
1036         (WebCore::WebSocketChannel::subprotocol):
1037         * websockets/WebSocketChannel.h:
1038         * websockets/WorkerThreadableWebSocketChannel.cpp:
1039         (WebCore::WorkerThreadableWebSocketChannel::subprotocol):
1040         (WebCore::workerContextDidConnect):
1041         Subprotocol value is saved in the client wrapper object after the WebSocket connection is
1042         established.
1043         (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
1044         * websockets/WorkerThreadableWebSocketChannel.h:
1045
1046 2011-08-11  Hayato Ito  <hayato@chromium.org>
1047
1048         Implement proper handling of events with a related target in regard to shadow DOM boundaries.
1049         https://bugs.webkit.org/show_bug.cgi?id=65899
1050
1051         Reviewed by Dimitri Glazkov.
1052
1053         Fixes issues in the following corner cases:
1054         1. When both a target node and a relatedTarget node are immediate children of
1055         the same shadow root, an event is not dispatched.
1056         2. If a target node is an ancestor of a relatedTarget node, crossing
1057         shadow boundaries, or vice verse, an event is not dispatched or wrongly
1058         dispatched.
1059
1060         Test: fast/dom/shadow/shadow-boundary-events.html
1061
1062         * dom/EventDispatcher.cpp:
1063         (WebCore::EventDispatcher::adjustToShadowBoundaries):
1064
1065 2011-08-11  John Bauman  <jbauman@chromium.org>
1066
1067         Readback composited webgl results for printing
1068         https://bugs.webkit.org/show_bug.cgi?id=65658
1069
1070         Reviewed by James Robinson.
1071
1072         The real composited results may be locked inside the compositor
1073         context's version of a texture because the drawing buffer was
1074         automatically cleared, so read from there to get the actual presented
1075         version to draw.
1076
1077         * html/canvas/WebGLRenderingContext.cpp:
1078         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
1079         * platform/graphics/GraphicsContext3D.h:
1080         * platform/graphics/chromium/Extensions3DChromium.h:
1081         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1082         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
1083         * platform/graphics/chromium/WebGLLayerChromium.h:
1084         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1085         (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
1086
1087 2011-08-11  Andrew Wason  <rectalogic@rectalogic.com>
1088
1089         REGRESSION: Qt JavaScript bridge signal connection fails
1090         https://bugs.webkit.org/show_bug.cgi?id=66097
1091
1092         Reviewed by Gavin Barraclough.
1093
1094         Tests in WebKit/qt/tests/qwebframe
1095
1096         Call toThisObject() on exec->lexicalGlobalObject() so the correct
1097         object is passed to the JS signal handler.
1098
1099         * bridge/qt/qt_runtime.cpp:
1100         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1101
1102 2011-08-11  Nico Weber  <thakis@chromium.org>
1103
1104         Remove incorrect comment about m_wheelEventHandlerCount
1105         https://bugs.webkit.org/show_bug.cgi?id=66117
1106
1107         Reviewed by Simon Fraser.
1108
1109         From what I can tell, this number is changed only in
1110         Frame::notifyChromeClientWheelEventHandlerCountChanged(),
1111         and there it just reads the number modified in
1112         Document::didAdd/RemoveWheelEventHandler(). So this is just the number
1113         of event handlers (and not related to horizontal scrollbars), and the
1114         variable name expresses that already.
1115
1116         * dom/Document.h:
1117
1118 2011-08-11  James Robinson  <jamesr@chromium.org>
1119
1120         [chromium] Defer managed texture creation and destruction until updateCompositorResources
1121         https://bugs.webkit.org/show_bug.cgi?id=64772
1122
1123         Reviewed by Kenneth Russell.
1124
1125         This adds support for deferring GraphicsContext3D calls for texture creation and destruction for managed
1126         textures and defers these calls until updateCompositorResources() for contents textures.  The primary benefit of
1127         this change is that it decouples managing the texture budget for the next frame (which has to happen before
1128         painting layer contents) from the actual GL calls that create/destroy textures.  That way, in the threaded
1129         compositing world we can continue to use textures from the previous frame while software painting contents for
1130         the next frame into software buffers or SkPictures.
1131
1132         Also renames LayerTexture to ManagedTexture to better reflect what it is.  Not all ManagedTextures we create are
1133         necessarily associated with layers, but they are all managed by a TextureManager.
1134
1135         Covered by compositing/ layout tests.
1136
1137         * WebCore.gypi:
1138         * platform/graphics/chromium/ContentLayerChromium.h:
1139         * platform/graphics/chromium/ImageLayerChromium.cpp:
1140         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
1141         * platform/graphics/chromium/LayerRendererChromium.cpp:
1142         (WebCore::LayerRendererChromium::releaseTextures):
1143         (WebCore::LayerRendererChromium::drawLayers):
1144         (WebCore::LayerRendererChromium::updateLayers):
1145         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
1146         (WebCore::LayerRendererChromium::useRenderSurface):
1147         (WebCore::LayerRendererChromium::initializeSharedObjects):
1148         * platform/graphics/chromium/LayerRendererChromium.h:
1149         * platform/graphics/chromium/LayerTextureUpdater.h:
1150         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1151         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
1152         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
1153         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1154         * platform/graphics/chromium/LayerTilerChromium.cpp:
1155         (WebCore::LayerTilerChromium::getSingleTexture):
1156         (WebCore::LayerTilerChromium::createTile):
1157         (WebCore::LayerTilerChromium::updateRect):
1158         (WebCore::LayerTilerChromium::drawTiles):
1159         * platform/graphics/chromium/LayerTilerChromium.h:
1160         (WebCore::LayerTilerChromium::Tile::Tile):
1161         (WebCore::LayerTilerChromium::Tile::texture):
1162         * platform/graphics/chromium/ManagedTexture.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerTexture.cpp.
1163         (WebCore::ManagedTexture::ManagedTexture):
1164         (WebCore::ManagedTexture::~ManagedTexture):
1165         (WebCore::ManagedTexture::isValid):
1166         (WebCore::ManagedTexture::reserve):
1167         (WebCore::ManagedTexture::unreserve):
1168         (WebCore::ManagedTexture::bindTexture):
1169         (WebCore::ManagedTexture::framebufferTexture2D):
1170         * platform/graphics/chromium/ManagedTexture.h: Renamed from Source/WebCore/platform/graphics/chromium/LayerTexture.h.
1171         (WebCore::ManagedTexture::create):
1172         (WebCore::ManagedTexture::format):
1173         (WebCore::ManagedTexture::isReserved):
1174         * platform/graphics/chromium/RenderSurfaceChromium.h:
1175         * platform/graphics/chromium/TextureManager.cpp:
1176         (WebCore::TextureManager::TextureManager):
1177         (WebCore::TextureManager::deleteEvictedTextures):
1178         (WebCore::TextureManager::removeTexture):
1179         (WebCore::TextureManager::allocateTexture):
1180         (WebCore::TextureManager::requestTexture):
1181         * platform/graphics/chromium/TextureManager.h:
1182         (WebCore::TextureManager::create):
1183         (WebCore::TextureManager::setAssociatedContextDebugOnly):
1184         (WebCore::TextureManager::associatedContextDebugOnly):
1185         * platform/graphics/chromium/TiledLayerChromium.h:
1186         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1187         (WebCore::CCHeadsUpDisplay::draw):
1188         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
1189         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1190         (WebCore::CCRenderSurface::prepareContentsTexture):
1191         (WebCore::CCRenderSurface::drawSurface):
1192         * platform/graphics/chromium/cc/CCRenderSurface.h:
1193         (WebCore::CCRenderSurface::contentsTexture):
1194         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1195         (WebCore::CCTiledLayerImpl::bindContentsTexture):
1196
1197 2011-08-11  David Kilzer  <ddkilzer@apple.com>
1198
1199         <http://webkit.org/b/66113> [CFNetwork] willCacheResponse() leaks CFCachedURLResponseRef if delegate changes CacheStoragePolicy
1200
1201         Reviewed by Joseph Pecoraro.
1202
1203         This first appeared in ToT WebKit r23462 (Windows merge).
1204
1205         * platform/network/cf/ResourceHandleCFNet.cpp:
1206         (WebCore::willCacheResponse): Only retain cachedResponse if we
1207         are returning the same object passed into the method, otherwise
1208         we end up double-retaining the new object created.
1209
1210 2011-08-05  Nat Duca  <nduca@chromium.org>
1211
1212         [chromium] Make WebViewImpl point at CCLayerTreeHost and related separation
1213         https://bugs.webkit.org/show_bug.cgi?id=65791
1214
1215         With this patch, LayerRendererChromium becomes increasingly responsible
1216         for rendering, while render scheduling and tree hosting moves into the
1217         CCLayerTreeHost.
1218
1219         Reviewed by James Robinson.
1220
1221         * platform/graphics/chromium/ContentLayerChromium.cpp:
1222         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
1223         * platform/graphics/chromium/LayerChromium.h:
1224         * platform/graphics/chromium/LayerRendererChromium.cpp:
1225         (WebCore::LayerRendererChromium::create):
1226         (WebCore::LayerRendererChromium::LayerRendererChromium):
1227         (WebCore::LayerRendererChromium::initialize):
1228         (WebCore::LayerRendererChromium::releaseTextures):
1229         (WebCore::LayerRendererChromium::updateRootLayerContents):
1230         (WebCore::LayerRendererChromium::drawRootLayer):
1231         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
1232         (WebCore::LayerRendererChromium::rootLayerChanged):
1233         (WebCore::LayerRendererChromium::viewportChanged):
1234         (WebCore::LayerRendererChromium::updateLayers):
1235         (WebCore::LayerRendererChromium::drawLayers):
1236         (WebCore::LayerRendererChromium::drawLayersInternal):
1237         (WebCore::LayerRendererChromium::getFramebufferPixels):
1238         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
1239         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
1240         (WebCore::LayerRendererChromium::useRenderSurface):
1241         (WebCore::LayerRendererChromium::setScissorToRect):
1242         (WebCore::LayerRendererChromium::layerTreeAsText):
1243         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
1244         * platform/graphics/chromium/LayerRendererChromium.h:
1245         (WebCore::LayerRendererChromium::settings):
1246         (WebCore::LayerRendererChromium::owner):
1247         (WebCore::LayerRendererChromium::rootLayer):
1248         (WebCore::LayerRendererChromium::skiaContext):
1249         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1250         (WebCore::WebGLLayerChromium::setTextureUpdated):
1251         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1252         (WebCore::CCHeadsUpDisplay::draw):
1253         (WebCore::CCHeadsUpDisplay::enabled):
1254         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
1255         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1256         (WebCore::CCLayerTreeHost::create):
1257         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1258         (WebCore::CCLayerTreeHost::initialize):
1259         (WebCore::CCLayerTreeHost::animateAndLayout):
1260         (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
1261         (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
1262         (WebCore::CCLayerTreeHost::context):
1263         (WebCore::CCLayerTreeHost::compositeAndReadback):
1264         (WebCore::CCLayerTreeHost::createRootLayerPainter):
1265         (WebCore::CCLayerTreeHost::finishAllRendering):
1266         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
1267         (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
1268         (WebCore::CCLayerTreeHost::setNeedsRedraw):
1269         (WebCore::CCLayerTreeHost::setRootLayer):
1270         (WebCore::CCLayerTreeHost::setViewport):
1271         (WebCore::CCLayerTreeHost::setVisible):
1272         (WebCore::CCLayerTreeHost::doComposite):
1273         (WebCore::CCLayerTreeHost::composite):
1274         (WebCore::CCLayerTreeHost::reallocateRenderer):
1275         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1276         (WebCore::CCLayerTreeHost::animating):
1277         (WebCore::CCLayerTreeHost::setAnimating):
1278         (WebCore::CCLayerTreeHost::rootLayer):
1279         (WebCore::CCLayerTreeHost::settings):
1280         (WebCore::CCLayerTreeHost::viewportContentRect):
1281         (WebCore::CCLayerTreeHost::viewportScrollPosition):
1282         (WebCore::CCLayerTreeHost::viewportVisibleRect):
1283         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1284         (WebCore::CCLayerTreeHostImpl::create):
1285         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1286         (WebCore::CCLayerTreeHostImpl::drawLayers):
1287         (WebCore::CCLayerTreeHostImpl::drawLayersOnMainThread):
1288         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1289         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
1290         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
1291
1292 2011-08-11  Jeff Miller  <jeffm@apple.com>
1293
1294         WebCore::AVFWrapper fails to remove observer for kCACFContextNeedsFlushNotification
1295         https://bugs.webkit.org/show_bug.cgi?id=66116
1296
1297         We need to pass 0 as the object parameter to CFNotificationCenterRemoveObserver() when removing
1298         kCACFContextNeedsFlushNotification to match what we do when we registered for the same
1299         notification with CFNotificationCenterAddObserver().
1300
1301         Reviewed by John Sullivan.
1302
1303         No new tests, uses existing media tests.
1304
1305         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
1306         (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Pass 0 as the object parameter to CFNotificationCenterRemoveObserver().
1307         (WebCore::AVFWrapper::notificationCallback): Remove obsolete FIXME comment.
1308
1309 2011-08-11  Ryosuke Niwa  <rniwa@webkit.org>
1310
1311         Share code between isStyleSpanOrSpanWithOnlyStyleAttribute, isUnstyledStyleSpan,
1312         isSpanWithoutAttributesOrUnstyleStyleSpan and replaceWithSpanOrRemoveIfWithoutAttributes
1313         https://bugs.webkit.org/show_bug.cgi?id=66091
1314
1315         Reviewed by Tony Chang.
1316
1317         Extracted common code as hasNoAttributeOrOnlyStyleAttribute. The only behavioral difference is that
1318         replaceWithSpanOrRemoveIfWithoutAttributes will now remove elements with class="Apple-style-span",
1319         for which I'm adding a test.
1320
1321         Test: editing/style/remove-styled-element-with-style-span.html
1322
1323         * editing/ApplyStyleCommand.cpp:
1324         (WebCore::hasNoAttributeOrOnlyStyleAttribute):
1325         (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute):
1326         (WebCore::isUnstyledStyleSpan):
1327         (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
1328         (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
1329
1330 2011-08-11  Tom Zakrajsek  <tomz@codeaurora.org>
1331
1332         Add HTMLUnknownElement interface as defined in
1333         http://www.w3.org/TR/html5/elements.html#elements-in-the-dom.
1334         https://bugs.webkit.org/show_bug.cgi?id=41841
1335
1336         Reviewed by Adam Barth.
1337
1338         Test: fast/html/unknown-tag.html
1339
1340         * CMakeLists.txt:
1341         * CodeGenerators.pri:
1342         * DerivedSources.cpp:
1343         * DerivedSources.make:
1344         * GNUmakefile.list.am:
1345         * WebCore.gypi:
1346         * WebCore.vcproj/WebCore.vcproj:
1347         * WebCore.xcodeproj/project.pbxproj:
1348         * bindings/scripts/CodeGeneratorV8.pm:
1349         (IsDOMNodeType):
1350         * dom/make_names.pl:
1351         (defaultParametersHash):
1352         (buildConstructorMap):
1353         (printJSElementIncludes):
1354         (printElementIncludes):
1355         (printWrapperFunctions):
1356         (printWrapperFactoryCppFile):
1357         * html/HTMLTagNames.in:
1358         * html/HTMLUnknownElement.h: Added.
1359         (WebCore::HTMLUnknownElement::create):
1360         (WebCore::HTMLUnknownElement::HTMLUnknownElement):
1361         * html/HTMLUnknownElement.idl: Added.
1362         * mathml/mathtags.in:
1363         * page/DOMWindow.idl:
1364         * svg/svgtags.in:
1365
1366 2011-08-11  Levi Weintraub  <leviw@chromium.org>
1367
1368         Remove dead code: borderInnerRect
1369         https://bugs.webkit.org/show_bug.cgi?id=66087
1370
1371         Reviewed by Adam Barth.
1372
1373         Removing an old and currently unused function: RenderObject::borderInnerRect.
1374
1375         No new tests since I'm just pruning dead code.
1376
1377         * rendering/RenderObject.cpp:
1378         * rendering/RenderObject.h:
1379
1380 2011-08-11  Simon Fraser  <simon.fraser@apple.com>
1381
1382         Avoid adding the visible wash layer twice
1383         https://bugs.webkit.org/show_bug.cgi?id=66098
1384
1385         Reviewed by Chris Marrin.
1386
1387         Fix two issues; only create a m_visibleTileWashLayer if we don't have one
1388         already, and avoid adding multiple m_visibleTileWashLayers to the sublayers
1389         array when flipping between tiled and non-tiled.
1390
1391         * platform/graphics/ca/GraphicsLayerCA.cpp:
1392         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1393
1394 2011-08-11  Benjamin Poulain  <benjamin@webkit.org>
1395
1396         The PageSerializer should always use absolute URL
1397         https://bugs.webkit.org/show_bug.cgi?id=66006
1398
1399         Reviewed by Adam Barth.
1400
1401         Page serializer resolves every URL for storing the resources.
1402         The MarkupAccumulator used there should use the same rules in order to
1403         create a valid file.
1404
1405         No new tests because the test infrastructure for this
1406         does not exist with layout tests and the Chromium unit test for
1407         the serializer are disabled.
1408
1409         * page/PageSerializer.cpp:
1410         (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
1411
1412 2011-08-01  Adrienne Walker  <enne@google.com>
1413
1414         Enable fast path scrolling for composited iframes
1415         https://bugs.webkit.org/show_bug.cgi?id=65056
1416
1417         Reviewed by James Robinson.
1418
1419         iframes with composited layers for content should be able to do fast
1420         path scrolling because they draw into their own backing. To enable
1421         this, useSlowRepaints is modified to return true only for the cases
1422         that apply to composited layers. The fast path scrolling function is
1423         modified to send the invalidation to the backing itself rather than to
1424         the window.
1425
1426         Renamed a number of "slow repaint" functions to be the more accurate
1427         "cannot blit to window" as it will not always force slow path
1428         scrolling.
1429
1430         * page/FrameView.cpp:
1431         (WebCore::FrameView::reset):
1432         (WebCore::FrameView::useSlowRepaints):
1433         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
1434         (WebCore::FrameView::contentsInCompositedLayer):
1435         (WebCore::FrameView::setCannotBlitToWindow):
1436         (WebCore::FrameView::scrollContentsFastPath):
1437         (WebCore::FrameView::scrollContentsSlowPath):
1438         * page/FrameView.h:
1439         * rendering/RenderLayer.cpp:
1440         (WebCore::RenderLayer::cannotBlitToWindow):
1441         * rendering/RenderLayer.h:
1442         * rendering/RenderView.cpp:
1443         (WebCore::RenderView::paintBoxDecorations):
1444
1445 2011-08-10  Adrienne Walker  <enne@google.com>
1446
1447         Support creating compositing layers for scrollable frames and iframes
1448         https://bugs.webkit.org/show_bug.cgi?id=55257
1449
1450         Reviewed by James Robinson.
1451
1452         When force compositing mode is turned on, iframes with overflow will
1453         become composited (in order to enable faster scrolling).
1454
1455         This patch was originally by Daniel Sievers <sievers@chromium.org>.
1456
1457         Tests: platform/chromium/compositing/force-compositing-mode/no-overflow-iframe-layer.html
1458                platform/chromium/compositing/force-compositing-mode/overflow-hidden-iframe-layer.html
1459                platform/chromium/compositing/force-compositing-mode/overflow-iframe-enter-compositing.html
1460                platform/chromium/compositing/force-compositing-mode/overflow-iframe-layer.html
1461                platform/chromium/compositing/force-compositing-mode/overflow-iframe-leave-compositing.html
1462
1463         * rendering/RenderLayerCompositor.cpp:
1464         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
1465         (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):
1466         * rendering/RenderLayerCompositor.h:
1467
1468 2011-08-11  Yong Li  <yoli@rim.com>
1469
1470         https://bugs.webkit.org/show_bug.cgi?id=65944
1471         Replace QuotesData::operator==() with QuotesData::equal(const QuotesData*
1472         , const QuotesData*) because QuotesData::operator==() were using non-standard
1473         C++ code that is not supported by all compilers.
1474
1475         Reviewed by Alexey Proskuryakov.
1476
1477         No new tests because some existing test cases can show the issue,
1478         for example, fast/css/content/content-quotes-01.html.
1479
1480         * rendering/RenderQuote.cpp:
1481         (WebCore::RenderQuote::styleDidChange):
1482         * rendering/style/QuotesData.cpp:
1483         (WebCore::QuotesData::equal):
1484         * rendering/style/QuotesData.h:
1485         * rendering/style/RenderStyle.cpp:
1486         (WebCore::RenderStyle::setQuotes):
1487         * rendering/style/StyleRareInheritedData.cpp:
1488         (WebCore::StyleRareInheritedData::operator==):
1489
1490 2011-08-11  David Hyatt  <hyatt@apple.com>
1491
1492         https://bugs.webkit.org/show_bug.cgi?id=66075
1493
1494         Turn on regions and exclusions by default. Fix one stray ifdef that I missed.
1495
1496         Reviewed by James Robinson.
1497
1498         * css/CSSComputedStyleDeclaration.cpp:
1499         (WebCore::contentToCSSValue):
1500
1501 2011-08-11  David Reveman  <reveman@chromium.org>
1502
1503         [Chromium] Temporarily disable layer anti-aliasing on ChromeOS.
1504         https://bugs.webkit.org/show_bug.cgi?id=65922
1505
1506         Reviewed by James Robinson.
1507
1508         No new tests.
1509
1510         * platform/graphics/chromium/LayerTilerChromium.cpp:
1511         (WebCore::LayerTilerChromium::draw):
1512
1513 2011-08-11  Benjamin Poulain  <benjamin@webkit.org>
1514
1515         [Qt] PageSerializer is specific to MHTML, we should not compile it
1516         https://bugs.webkit.org/show_bug.cgi?id=66054
1517
1518         Reviewed by Noam Rosenthal.
1519
1520         PageSerializer is specific to MHTML. Do not build PageSerializer unless MHTML is enabled.
1521
1522         * WebCore.pro:
1523
1524 2011-08-11  Andrey Kosyakov  <caseq@chromium.org>
1525
1526         Web Inspector: [refactoring] make tabbed pane a view
1527         https://bugs.webkit.org/show_bug.cgi?id=66060
1528
1529         Reviewed by Pavel Feldman.
1530
1531         * inspector/front-end/NetworkItemView.js:
1532         (WebInspector.NetworkItemView):
1533         (WebInspector.NetworkItemView.prototype.show):
1534         (WebInspector.NetworkItemView.prototype._selectTab.get if):
1535         (WebInspector.NetworkItemView.prototype._selectTab):
1536         * inspector/front-end/TabbedPane.js:
1537         (WebInspector.TabbedPane):
1538         * inspector/front-end/inspector.html:
1539
1540 2011-08-11  Andrey Kosyakov  <caseq@chromium.org>
1541
1542         Web Inspector: source frame popover simetimes pops up after user switches from Scripts panel
1543         https://bugs.webkit.org/show_bug.cgi?id=66057
1544
1545         Reviewed by Pavel Feldman.
1546
1547         * inspector/front-end/SourceFrame.js: remove popover timer when removing popover.
1548         (WebInspector.SourceFrame.prototype._mouseDown):
1549         (WebInspector.SourceFrame.prototype._hidePopup):
1550
1551 2011-08-11  Vsevolod Vlasov  <vsevik@chromium.org>
1552
1553         Web Inspector: Scripts panel: display the current search match index in the toolbar.
1554         https://bugs.webkit.org/show_bug.cgi?id=66048
1555
1556         Reviewed by Pavel Feldman.
1557
1558         * English.lproj/localizedStrings.js:
1559         * inspector/front-end/ScriptsPanel.js:
1560         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
1561         (WebInspector.ScriptsPanel.prototype.performSearch):
1562         (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
1563         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
1564         * inspector/front-end/SearchController.js:
1565         (WebInspector.SearchController.prototype.updateSearchMatchesCount):
1566         (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
1567         (WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch):
1568         (WebInspector.SearchController.prototype.activePanelChanged):
1569         (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
1570         (WebInspector.SearchController.prototype._performSearch):
1571         * inspector/front-end/SourceFrame.js:
1572         (WebInspector.SourceFrame.prototype.get currentSearchResultIndex):
1573
1574 2011-08-11  Xan Lopez  <xlopez@igalia.com>
1575
1576         [GTK] Add another missing file to GNUmakefile
1577
1578         Reviewed by Gustavo Noronha.
1579
1580         * GNUmakefile.list.am:
1581
1582 2011-08-11  Xan Lopez  <xlopez@igalia.com>
1583
1584         [GTK] Add missing files to GNUMakefile
1585
1586         Reviewed by Gustavo Noronha.
1587
1588         * GNUmakefile.am:
1589         * GNUmakefile.list.am:
1590
1591 2011-08-11  Yuta Kitamura  <yutak@chromium.org>
1592
1593         WebSocket: Use PassRefPtr<> in function arguments in WorkerThreadableWebSocketChannel.cpp
1594         https://bugs.webkit.org/show_bug.cgi?id=66047
1595
1596         Reviewed by Kent Tamura.
1597
1598         It's safe to use PassRefPtr<> in these functions because:
1599         - CrossThreadTask knows how to pass a RefPtr<> across threads, and
1600         - Call sites do not pass the pointers to anywhere else.
1601
1602         No change in functionality, thus no new tests.
1603
1604         * websockets/WorkerThreadableWebSocketChannel.cpp:
1605         (WebCore::workerContextDidSend):
1606         (WebCore::workerContextDidGetBufferedAmount):
1607         (WebCore::workerContextDidConnect):
1608         (WebCore::workerContextDidReceiveMessage):
1609         (WebCore::workerContextDidStartClosingHandshake):
1610         (WebCore::workerContextDidClose):
1611
1612 2011-08-11  Pavel Feldman  <pfeldman@google.com>
1613
1614         Web Inspector: [Mac] search as you type does not work with the new indent in the script selector.
1615         https://bugs.webkit.org/show_bug.cgi?id=66039
1616
1617         Reviewed by Yury Semikhatsky.
1618
1619         * inspector/front-end/ScriptsPanel.js:
1620         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
1621         * inspector/front-end/inspector.css:
1622         (select.status-bar-item):
1623
1624 2011-08-11  Alexis Menard  <alexis.menard@openbossa.org>
1625
1626         Unreviewed build fix for Qt.
1627
1628         Make sure we build when Qt is namespaced.
1629
1630         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
1631
1632 2011-08-11  Pavel Podivilov  <podivilov@chromium.org>
1633
1634         Web Inspector: use source-file-replaced instead of source-file-changed event.
1635         https://bugs.webkit.org/show_bug.cgi?id=65551
1636
1637         Reviewed by Pavel Feldman.
1638
1639         Test: inspector/debugger/source-frame-count.html
1640
1641         * inspector/front-end/DebuggerPresentationModel.js:
1642         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1643         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
1644         * inspector/front-end/ScriptsPanel.js:
1645         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
1646         (WebInspector.ScriptsPanel.prototype._sourceFileReplaced):
1647         * inspector/front-end/SourceFile.js:
1648         (WebInspector.RawSourceCode):
1649         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
1650         (WebInspector.RawSourceCode.prototype.reload):
1651         * inspector/front-end/inspector.js:
1652         (WebInspector._createPanels):
1653
1654 2011-08-11  Vsevolod Vlasov  <vsevik@chromium.org>
1655
1656         Web Inspector: [REGRESSION] Resources panel search fails when search result is found in a resource used in several frames.
1657         https://bugs.webkit.org/show_bug.cgi?id=66007
1658
1659         Reviewed by Pavel Feldman.
1660
1661         * inspector/front-end/ResourcesPanel.js:
1662         (WebInspector.ResourcesPanel.prototype.performSearch.callback):
1663         (WebInspector.ResourcesPanel.prototype.performSearch):
1664         (WebInspector.FrameTreeElement.prototype.resourceByURL):
1665
1666 2011-08-11  Andras Becsi  <abecsi@webkit.org>
1667
1668         [GTK] Fix the build after r92792.
1669
1670         Rubber-stamped by Csaba Osztrogon√°c.
1671
1672         No new tests needed.
1673
1674         * GNUmakefile.list.am: add missing
1675            RenderFlowThread.{cpp|h}
1676            RenderRegion.{cpp|h}
1677
1678 2011-08-11  Renata Hodovan  <reni@webkit.org>
1679
1680         [Qt] Fix WebGL on Windows after r92805 
1681         https://bugs.webkit.org/show_bug.cgi?id=66042
1682
1683         WEBGL is temporarly disabled, because it broked the bots.
1684
1685         * features.pri:
1686
1687 2011-08-11  Pavel Feldman  <pfeldman@google.com>
1688
1689         Web Inspector: do not evaluate watch expressions on load.
1690         https://bugs.webkit.org/show_bug.cgi?id=66002
1691
1692         Reviewed by Yury Semikhatsky.
1693
1694         * inspector/front-end/ScriptsPanel.js:
1695         (WebInspector.ScriptsPanel.prototype.show):
1696         (WebInspector.ScriptsPanel.prototype.hide):
1697         (WebInspector.ScriptsPanel.prototype.reset):
1698         * inspector/front-end/WatchExpressionsSidebarPane.js:
1699         (WebInspector.WatchExpressionsSidebarPane):
1700         (WebInspector.WatchExpressionsSidebarPane.prototype.hide):
1701         (WebInspector.WatchExpressionsSidebarPane.prototype.reset):
1702         (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
1703         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshExpressionsIfNeeded):
1704         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
1705
1706 2011-08-10  Ryosuke Niwa  <rniwa@webkit.org>
1707
1708         Copying can result in span around block elements on the clipboard
1709         https://bugs.webkit.org/show_bug.cgi?id=34564
1710
1711         Reviewed by Tony Chang.
1712
1713         Completely overhauled the way WebKit preserves style in copy and paste. Instead of wrapping the entire
1714         serialized contents by a Apple style span, WebKit now adds inline style to the top level elements,
1715         wrap top level text nodes by a style span.
1716
1717         * editing/EditingStyle.cpp:
1718         (WebCore::EditingStyle::collapseTextDecorationProperties): Remove text-decoration property when the value
1719         of -webkit-text-decorations-in-effect is none.
1720         (WebCore::EditingStyle::removeStyleFromRulesAndContext): Since display: inline and float: none are now
1721         added on copy, remove these properties on paste.
1722         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle): Takes Element* instead of StyledElement*.
1723         (WebCore::EditingStyle::forceInline): Added.
1724         (WebCore::getPropertiesNotIn): Remove properties only when the base style has them.
1725         * editing/EditingStyle.h:
1726         * editing/markup.cpp:
1727         (WebCore::StyledMarkupAccumulator::shouldApplyWrappingStyle): Added.
1728         (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Takes highestNodeToBeSerialized.
1729         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendStyleNodeOpenTag and styleNodeCloseTag.
1730         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): Extracted from wrapWithStyleNode.
1731         (WebCore::StyledMarkupAccumulator::styleNodeCloseTag): Ditto.
1732         (WebCore::StyledMarkupAccumulator::appendText): Wraps text node with a style span if needed.
1733         Set display: inline and float: none so that it won't be converted to a block on paste side.
1734         (WebCore::StyledMarkupAccumulator::appendElement): Add wrapping style if appropriate; Remove any properties
1735         that are overridden by default style and any style that may conflict with the computed style of node to
1736         avoid modifying the appearance of the serialized nodes.
1737         (WebCore::StyledMarkupAccumulator::serializeNodes): Compute wrapping style; copies of this style are
1738         modified as needed when serializing top-level elements or text nodes. We call traverseNodesForSerialization
1739         with NodeTraversalMode set to DoNotEmitString first to compute the highest node to be serialized. The second
1740         call to the function actually serialize the nodes.
1741         (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): Extracted from serializeNodes.
1742         Outputs string only if NodeTraversalMode is set to EmitString.
1743         (WebCore::createMarkup): No longer adds wrapping spans.
1744
1745 2011-08-10  Adam Barth  <abarth@webkit.org>
1746
1747         Add tests of optional arguments for Geolocation
1748         https://bugs.webkit.org/show_bug.cgi?id=65810
1749
1750         Reviewed by Sam Weinig.
1751
1752         Geolocation's treatment of not-enough-arguments almost matches the
1753         spec.  getCurrentPosition and watchPosition work properly, but, because
1754         they are custom, we should use the prettier form of the [Optional]
1755         attribute.
1756
1757         Before this series of patches, clearWatch argument was optional, but
1758         that doesn't match the spec or other browsers.  Calling this function
1759         with zero arguments is pretty non-sensical, so there shouldn't be much
1760         compat risk to tightening up our behavior here.  Matching other
1761         browsers and the spec seems like the bigger win.  If we run into compat
1762         problems, we can re-evaluate this decision.
1763
1764         Test: fast/dom/Geolocation/not-enough-arguments.html
1765
1766         * page/Geolocation.idl:
1767
1768 2011-08-10  Tim Horton  <timothy_horton@apple.com>
1769
1770         SVGAElement check for internal non-view anchors is inside ENABLE(SVG_ANIMATION)
1771         https://bugs.webkit.org/show_bug.cgi?id=66026
1772
1773         Reviewed by Rob Buis.
1774         
1775         Move only the SMIL-related code inside the ENABLE(SVG_ANIMATION) block.
1776
1777         No new tests, as it depends on the enabled features.
1778
1779         * svg/SVGAElement.cpp:
1780         (WebCore::SVGAElement::defaultEventHandler):
1781
1782 2011-08-10  Tim Horton  <timothy_horton@apple.com>
1783
1784         Crash when clicking an SVG <a> link to the local document
1785         https://bugs.webkit.org/show_bug.cgi?id=66019
1786         <rdar://problem/9933311>
1787
1788         Reviewed by Rob Buis.
1789
1790         Check if the target element of an internal link is valid before
1791         making use of it.
1792
1793         Test: svg/custom/click-internal-anchor-with-use-crash.xhtml
1794
1795         * svg/SVGAElement.cpp:
1796         (WebCore::SVGAElement::defaultEventHandler):
1797
1798 2011-08-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
1799
1800         [Qt] Enable WebGL by default for QtWebKit
1801         https://bugs.webkit.org/show_bug.cgi?id=65998
1802
1803         Reviewed by Benjamin Poulain.
1804
1805         Make ENABLE_WEBGL true by default when Qt is configured with OpenGL.
1806
1807         No new tests. Build change only.
1808
1809         * features.pri:
1810
1811 2011-08-10  Abhishek Arya  <inferno@chromium.org>
1812
1813         Check that we do not need layout before trying to dirty
1814         m_originatingLine for our floats.
1815         https://bugs.webkit.org/show_bug.cgi?id=65938
1816
1817         Reviewed by Dave Hyatt.
1818
1819         Test: fast/block/float/float-originating-line-deleted-crash.html
1820
1821         * rendering/RenderBlock.cpp:
1822         (WebCore::RenderBlock::removeFloatingObject):
1823         (WebCore::RenderBlock::clearFloats):
1824
1825 2011-08-10  David Hyatt  <hyatt@apple.com>
1826
1827         Add missing regions/exclusions-related files to EFL.
1828
1829         * CMakeLists.txt:
1830
1831 2011-08-10  David Hyatt  <hyatt@apple.com>
1832
1833         Add missing regions/exclusions-related files to Chromium.
1834
1835         * WebCore.gypi:
1836
1837 2011-08-10  David Hyatt  <hyatt@apple.com>
1838
1839         Fix Qt build bustage. Add missing regions/exclusions-related files to their project.
1840
1841         * WebCore.pro:
1842
1843 2011-08-10  David Hyatt  <hyatt@apple.com>
1844
1845         https://bugs.webkit.org/show_bug.cgi?id=66004
1846
1847         Remove ifdefs for CSS Exclusions (since the feature doesn't exist any longer and has morphed into positioned
1848         floats instead). Go ahead and yank the ifdefs for CSS Regions also and just turn them on.
1849
1850         Reviewed by Adam Roben.
1851
1852         * Configurations/FeatureDefines.xcconfig:
1853         * css/CSSComputedStyleDeclaration.cpp:
1854         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1855         * css/CSSParser.cpp:
1856         (WebCore::CSSParser::parseValue):
1857         (WebCore::CSSParser::parseContent):
1858         (WebCore::CSSParser::parseWrapShape):
1859         (WebCore::CSSParser::parseFromFlowContent):
1860         * css/CSSParser.h:
1861         * css/CSSPrimitiveValue.cpp:
1862         (WebCore::CSSPrimitiveValue::init):
1863         (WebCore::CSSPrimitiveValue::cleanup):
1864         (WebCore::CSSPrimitiveValue::getStringValue):
1865         (WebCore::CSSPrimitiveValue::cssText):
1866         * css/CSSPrimitiveValue.h:
1867         (WebCore::CSSPrimitiveValue::getShapeValue):
1868         * css/CSSPrimitiveValueMappings.h:
1869         (WebCore::CSSPrimitiveValue::operator RegionOverflow):
1870         * css/CSSPropertyNames.in:
1871         * css/CSSStyleSelector.cpp:
1872         (WebCore::CSSStyleSelector::applyProperty):
1873         * css/CSSValueKeywords.in:
1874         * css/CSSWrapShapes.cpp:
1875         * css/CSSWrapShapes.h:
1876         * css/SVGCSSValueKeywords.in:
1877         * dom/Node.cpp:
1878         (WebCore::Node::diff):
1879         * dom/NodeRenderingContext.cpp:
1880         (WebCore::NodeRenderingContext::NodeRenderingContext):
1881         (WebCore::NodeRenderingContext::setStyle):
1882         (WebCore::NodeRenderingContext::nextRenderer):
1883         (WebCore::NodeRenderingContext::previousRenderer):
1884         (WebCore::NodeRenderingContext::parentRenderer):
1885         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1886         (WebCore::NodeRendererFactory::createRendererIfNeeded):
1887         * dom/NodeRenderingContext.h:
1888         * rendering/RenderFlowThread.cpp:
1889         * rendering/RenderFlowThread.h:
1890         * rendering/RenderLayer.cpp:
1891         (WebCore::RenderLayer::collectLayers):
1892         * rendering/RenderObject.cpp:
1893         (WebCore::RenderObject::createObject):
1894         * rendering/RenderObject.h:
1895         (WebCore::RenderObject::isRenderRegion):
1896         (WebCore::RenderObject::isRenderFlowThread):
1897         * rendering/RenderRegion.cpp:
1898         * rendering/RenderRegion.h:
1899         * rendering/RenderTreeAsText.cpp:
1900         (WebCore::writeLayers):
1901         * rendering/RenderView.cpp:
1902         (WebCore::RenderView::renderFlowThreadWithName):
1903         * rendering/RenderView.h:
1904         * rendering/style/RenderStyle.cpp:
1905         (WebCore::RenderStyle::diff):
1906         * rendering/style/RenderStyle.h:
1907         (WebCore::InheritedFlags::regionOverflow):
1908         (WebCore::InheritedFlags::setRegionOverflow):
1909         (WebCore::InheritedFlags::initialWrapShape):
1910         (WebCore::InheritedFlags::initialRegionOverflow):
1911         * rendering/style/RenderStyleConstants.h:
1912         * rendering/style/StyleRareNonInheritedData.cpp:
1913         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1914         (WebCore::StyleRareNonInheritedData::operator==):
1915         * rendering/style/StyleRareNonInheritedData.h:
1916
1917 2011-08-10  Abhishek Arya  <inferno@chromium.org>
1918
1919         Don't create html renderer for SVG <glyphRef>
1920         https://bugs.webkit.org/show_bug.cgi?id=66000
1921
1922         Reviewed by David Hyatt.
1923
1924         Test: svg/text/glyphref-renderer-create-crash.html
1925
1926         * svg/SVGGlyphRefElement.h:
1927
1928 2011-08-10  Scott Graham  <scottmg@google.com>
1929
1930         OpenTypeSanitizer in chromium gyp files is linked twice
1931         https://bugs.webkit.org/show_bug.cgi?id=65927
1932
1933         Reviewed by Adam Barth.
1934
1935         No new tests, should just build and link properly on all platforms.
1936
1937         * WebCore.gyp/WebCore.gyp:
1938
1939 2011-08-10  Oliver Hunt  <oliver@apple.com>
1940
1941         Make GC checks more aggressive in release builds
1942         https://bugs.webkit.org/show_bug.cgi?id=66001
1943
1944         Reviewed by Gavin Barraclough.
1945
1946         Fix GC bugs found while testing increased validation logic
1947
1948         * bindings/js/JSDOMWindowShell.cpp:
1949         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1950         * bindings/js/JSDOMWindowShell.h:
1951         * bindings/js/ScriptController.cpp:
1952         (WebCore::ScriptController::createWindowShell):
1953         * bridge/objc/ObjCRuntimeObject.h:
1954         (JSC::Bindings::ObjCRuntimeObject::create):
1955         * bridge/objc/ObjCRuntimeObject.mm:
1956         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
1957         * bridge/objc/objc_instance.mm:
1958
1959 2011-08-10  Ben Wells  <benwells@chromium.org>
1960
1961         [skia] Move calls to makeGrContextCurrent into clipPathAntiAliased from callers
1962         https://bugs.webkit.org/show_bug.cgi?id=65733
1963         
1964         This protects against callers of clipPathAntiAliased forgetting to call makeGrContextCurrent.
1965
1966         Reviewed by James Robinson.
1967
1968         No change in functionality, no new tests.
1969
1970         * platform/graphics/skia/GraphicsContextSkia.cpp:
1971         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1972         (WebCore::GraphicsContext::clip):
1973         * platform/graphics/skia/PlatformContextSkia.cpp:
1974         (WebCore::PlatformContextSkia::clipPathAntiAliased):
1975
1976 2011-08-10  Benjamin Poulain  <ikipou@gmail.com>
1977
1978         MarkupAccumulator: make resolution of URLs implicit to appendQuotedURLAttributeValue()
1979         https://bugs.webkit.org/show_bug.cgi?id=65990
1980
1981         Reviewed by Ryosuke Niwa.
1982
1983         Instead of resolving the URLs in the call site of appendQuotedURLAttributeValue(),
1984         the URL is now resolved if necessary in appendQuotedURLAttributeValue().
1985
1986         * editing/MarkupAccumulator.cpp:
1987         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
1988         (WebCore::MarkupAccumulator::appendAttribute):
1989         * editing/MarkupAccumulator.h:
1990
1991 2011-08-10  Kenichi Ishibashi  <bashi@chromium.org>
1992
1993         [Chromium] Implement text shaping with font-feature-settings on Linux
1994         https://bugs.webkit.org/show_bug.cgi?id=65903
1995
1996         - Modifies Font::codePath() to return Complex when there is font feature settings CSS property.
1997         - Implements OpenType advanced typography feature using Harfbuzz on Chromium Linux port.
1998
1999         Reviewed by Adam Barth.
2000
2001         Test: css3/font-feature-settings-rendering.html
2002
2003         * platform/graphics/Font.cpp:
2004         (WebCore::Font::codePath): Returns Complex when fontFeatureSettings exists.
2005         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
2006         (WebCore::setupFontFeatures): Added.
2007         (WebCore::ComplexTextController::setupFontForScriptRun): Calls setupFontFeatures().
2008
2009 2011-08-10  Tony Gentilcore  <tonyg@chromium.org>
2010
2011         [chromium] Notify MemoryCache of decoded data access
2012         https://bugs.webkit.org/show_bug.cgi?id=65859
2013
2014         Reviewed by James Robinson.
2015
2016         This causes us to call CachedImage::didDraw() which calls CachedResource::didAccessDecodedData()
2017         which updates the LRU for decoded image data and potentially prunes the cache. This is already done
2018         by almost all of the other ports.
2019
2020         The decoded bitmaps obviously use quite a bit of memory, so pruning them when necessary is important.
2021         In my tests, this saves several MB on many popular web pages.
2022
2023         No new tests because no observable difference in functionality.
2024
2025         * platform/graphics/skia/ImageSkia.cpp:
2026         (WebCore::BitmapImage::draw):
2027         (WebCore::BitmapImageSingleFrameSkia::draw):
2028
2029 2011-08-10  Vsevolod Vlasov  <vsevik@chromium.org>
2030
2031         Web Inspector: Remove Network.initialContentSet from protocol, store workers content on backend.
2032         https://bugs.webkit.org/show_bug.cgi?id=65929
2033
2034         Reviewed by Pavel Feldman.
2035
2036         Tests: http/tests/inspector/network/network-shared-worker.html
2037                http/tests/inspector/network/network-worker.html
2038
2039         * inspector/Inspector.json:
2040         * inspector/InspectorInstrumentation.cpp:
2041         (WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
2042         * inspector/InspectorInstrumentation.h:
2043         (WebCore::InspectorInstrumentation::didReceiveScriptResponse):
2044         * inspector/InspectorResourceAgent.cpp:
2045         (WebCore::InspectorResourceAgent::didReceiveResponse):
2046         (WebCore::InspectorResourceAgent::setInitialScriptContent):
2047         (WebCore::InspectorResourceAgent::didReceiveScriptResponse):
2048         * inspector/InspectorResourceAgent.h:
2049         * inspector/front-end/NetworkManager.js:
2050         * inspector/front-end/Resource.js:
2051         * workers/DefaultSharedWorkerRepository.cpp:
2052         (WebCore::SharedWorkerScriptLoader::didReceiveResponse):
2053         * workers/Worker.cpp:
2054         (WebCore::Worker::didReceiveResponse):
2055         * workers/Worker.h:
2056         * workers/WorkerScriptLoader.cpp:
2057         (WebCore::WorkerScriptLoader::didReceiveResponse):
2058         * workers/WorkerScriptLoaderClient.h:
2059         (WebCore::WorkerScriptLoaderClient::didReceiveResponse):
2060
2061 2011-08-10  Vsevolod Vlasov  <vsevik@chromium.org>
2062
2063         Web Inspector: [Network] Filtering by stylesheet does not update the # reqs, filesizes.
2064         https://bugs.webkit.org/show_bug.cgi?id=65515
2065
2066         Reviewed by Pavel Feldman.
2067
2068         * English.lproj/localizedStrings.js:
2069         * inspector/front-end/NetworkPanel.js:
2070         (WebInspector.NetworkLogView.prototype._updateSummaryBar):
2071         (WebInspector.NetworkLogView.prototype._updateFilter):
2072
2073 2011-08-10  Vsevolod Vlasov  <vsevik@chromium.org>
2074
2075         Web Inspector: console messages markers are lost in Resources panel after page reload
2076         https://bugs.webkit.org/show_bug.cgi?id=60701
2077
2078         Reviewed by Pavel Feldman.
2079
2080         Test: http/tests/inspector/resource-tree/resource-tree-errors-reload.html
2081
2082         * inspector/front-end/ResourceTreeModel.js:
2083         (WebInspector.ResourceTreeModel):
2084         (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
2085         (WebInspector.ResourceTreeModel.prototype._addPendingConsoleMessage):
2086         (WebInspector.ResourceTreeModel.prototype._addPendingConsoleMessagesToResource):
2087         (WebInspector.ResourceTreeModel.prototype._addConsoleMessageToResource):
2088         (WebInspector.ResourceTreeModel.prototype._consoleCleared):
2089         (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
2090
2091 2011-08-10  Lars Knudsen  <lars.knudsen@nokia.com>
2092
2093         Add device specific settings to support viewport computing
2094         https://bugs.webkit.org/show_bug.cgi?id=65984
2095
2096         Reviewed by Kenneth Rohde Christiansen.
2097
2098         Based on patch by Zalan Bujtas.
2099
2100         Added settings for device size, dpi and layout fallback width
2101         to support viewport computing.
2102
2103         * page/Settings.cpp:
2104         (WebCore::Settings::Settings):
2105         * page/Settings.h:
2106         (WebCore::Settings::setLayoutFallbackWidth):
2107         (WebCore::Settings::layoutFallbackWidth):
2108         (WebCore::Settings::setDeviceWidth):
2109         (WebCore::Settings::deviceWidth):
2110         (WebCore::Settings::setDeviceHeight):
2111         (WebCore::Settings::deviceHeight):
2112         (WebCore::Settings::setDeviceDPI):
2113         (WebCore::Settings::deviceDPI):
2114
2115 2011-08-10  Benjamin Poulain  <benjamin@webkit.org>
2116
2117         Unify the way we generate HTML for an image in the Clipboard
2118         https://bugs.webkit.org/show_bug.cgi?id=58043
2119
2120         Reviewed by Ryosuke Niwa.
2121
2122         Unify the way we generate the markup when dragging and image.
2123
2124         Previously, the code was using the special function imageToMarkup() that was
2125         spread from the Chromium port.
2126         That function ignores some edge cases so this patch replace it by the
2127         more generic MarkupAccumulator (which is also used by the other pasteboard
2128         actions).
2129
2130         The MarkupAccumulator was modified because following r61178, the local filepath
2131         are treated differently (the enum was changed to  make this behavior
2132         explicit).
2133
2134         Tests: fast/drag-and-drop/drag-and-drop-image-contenteditable.html
2135                fast/drag-and-drop/drag-and-drop-inputimage-contenteditable.html
2136                fast/drag-and-drop/drag-and-drop-objectimage-contenteditable.html
2137
2138         * editing/MarkupAccumulator.cpp:
2139         (WebCore::MarkupAccumulator::MarkupAccumulator):
2140         (WebCore::MarkupAccumulator::resolveURLIfNeeded):
2141         (WebCore::MarkupAccumulator::appendAttribute):
2142         * editing/MarkupAccumulator.h:
2143         * editing/markup.cpp:
2144         * editing/markup.h:
2145         * page/PageSerializer.cpp:
2146         (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
2147         * platform/chromium/ClipboardChromium.cpp:
2148         (WebCore::ClipboardChromium::declareAndWriteDragImage):
2149         (WebCore::ClipboardChromium::writeRange):
2150         * platform/chromium/PasteboardChromium.cpp:
2151         (WebCore::Pasteboard::writeSelection):
2152         * platform/gtk/ClipboardGtk.cpp:
2153         (WebCore::ClipboardGtk::declareAndWriteDragImage):
2154         (WebCore::ClipboardGtk::writeRange):
2155         * platform/gtk/DataObjectGtk.cpp:
2156         (WebCore::DataObjectGtk::markup):
2157         * platform/gtk/PasteboardGtk.cpp:
2158         (WebCore::Pasteboard::writeSelection):
2159         (WebCore::Pasteboard::writeImage):
2160         * platform/haiku/PasteboardHaiku.cpp:
2161         (WebCore::Pasteboard::writeSelection):
2162         * platform/qt/ClipboardQt.cpp:
2163         (WebCore::ClipboardQt::declareAndWriteDragImage):
2164         (WebCore::ClipboardQt::writeRange):
2165         * platform/qt/PasteboardQt.cpp:
2166         (WebCore::Pasteboard::writeSelection):
2167         * platform/win/ClipboardWin.cpp:
2168         (WebCore::ClipboardWin::declareAndWriteDragImage):
2169
2170 2011-08-10  Pavel Feldman  <pfeldman@google.com>
2171
2172         Web Inspector: auto-completion for string literals doesn't work
2173         https://bugs.webkit.org/show_bug.cgi?id=65701
2174
2175         Reviewed by Yury Semikhatsky.
2176
2177         * inspector/InjectedScript.cpp:
2178         (WebCore::InjectedScript::evaluateOnCallFrame):
2179         * inspector/InjectedScript.h:
2180         * inspector/InjectedScriptSource.js:
2181         (.):
2182         ():
2183         * inspector/Inspector.json:
2184         * inspector/InspectorDebuggerAgent.cpp:
2185         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2186         * inspector/InspectorDebuggerAgent.h:
2187         * inspector/front-end/ConsoleView.js:
2188         (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
2189         (WebInspector.ConsoleView.prototype._completions.evaluated):
2190         (WebInspector.ConsoleView.prototype._completions.receivedPropertyNamesFromEval):
2191         (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
2192         (WebInspector.ConsoleView.prototype._completions):
2193         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
2194         * inspector/front-end/DebuggerPresentationModel.js:
2195         (WebInspector.PresenationCallFrame.prototype.evaluate):
2196         * inspector/front-end/RemoteObject.js:
2197         (WebInspector.RemoteObject):
2198         * inspector/front-end/ScriptsPanel.js:
2199         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2200         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
2201
2202 2011-08-10  Pavel Feldman  <pfeldman@google.com>
2203
2204         Web Inspector: CSS editing file containing tabs leads to the whole file change in revision history.
2205         https://bugs.webkit.org/show_bug.cgi?id=65959
2206
2207         Reviewed by Yury Semikhatsky.
2208
2209         * inspector/front-end/SourceFrame.js:
2210         (WebInspector.SourceFrame):
2211         * inspector/front-end/TextEditorModel.js:
2212         (WebInspector.TextEditorModel.prototype._innerSetText):
2213
2214 2011-08-10  Pavel Feldman  <pfeldman@chromium.org>
2215
2216         Web Inspector: there should be a way to tell what properties are non-enumerable when expanding objects.
2217         https://bugs.webkit.org/show_bug.cgi?id=65518
2218
2219         Reviewed by Yury Semikhatsky.
2220
2221         * inspector/InjectedScript.cpp:
2222         (WebCore::InjectedScript::getProperties):
2223         * inspector/InjectedScript.h:
2224         * inspector/InjectedScriptSource.js:
2225         (.):
2226         * inspector/Inspector.json:
2227         * inspector/InspectorRuntimeAgent.cpp:
2228         (WebCore::InspectorRuntimeAgent::getProperties):
2229         * inspector/InspectorRuntimeAgent.h:
2230         * inspector/front-end/ObjectPropertiesSection.js:
2231         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
2232         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2233         * inspector/front-end/RemoteObject.js:
2234         (WebInspector.RemoteObject.prototype.getOwnProperties):
2235         (WebInspector.RemoteObject.prototype.getAllProperties):
2236         (WebInspector.RemoteObjectProperty):
2237         * inspector/front-end/inspector.css:
2238         (.section .properties .dimmed):
2239
2240 2011-08-10  Alexander Pavlov  <apavlov@chromium.org>
2241
2242         Web Inspector: [REGRESSION] Editor lost after committing a CSS property value for inline style
2243         https://bugs.webkit.org/show_bug.cgi?id=65918
2244
2245         Reviewed by Pavel Feldman.
2246
2247         * inspector/front-end/StylesSidebarPane.js:
2248         (WebInspector.StylesSidebarPane.prototype._innerUpdate.stylesCallback):
2249         (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
2250         (WebInspector.StylesSidebarPane.prototype._innerUpdate):
2251         (WebInspector.StylePropertyTreeElement.prototype):
2252         (WebInspector.StylePropertyTreeElement.prototype.event):
2253         (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert.parentPane):
2254         (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):
2255
2256 2011-08-10  Yuta Kitamura  <yutak@chromium.org>
2257
2258         WebSocket: Add binaryType attribute
2259         https://bugs.webkit.org/show_bug.cgi?id=65967
2260
2261         Reviewed by Kent Tamura.
2262
2263         Add a new attribute "binaryType" to WebSocket. It controls the data type of MessageEvent
2264         for WebSocket's binary frames.
2265
2266         Tests: http/tests/websocket/tests/hixie76/undefined-attributes.html
2267                http/tests/websocket/tests/hybi/binary-type.html
2268
2269         * websockets/WebSocket.cpp:
2270         (WebCore::WebSocket::WebSocket):
2271         (WebCore::WebSocket::binaryType):
2272         (WebCore::WebSocket::setBinaryType):
2273         * websockets/WebSocket.h:
2274         * websockets/WebSocket.idl:
2275
2276 2011-08-10  Yuta Kitamura  <yutak@chromium.org>
2277
2278         WebSocket: Accept multiple subprotocols
2279         https://bugs.webkit.org/show_bug.cgi?id=65247
2280
2281         Reviewed by Kent Tamura.
2282
2283         WebSocket constructor should accept an array of subprotocols if hybi-10 protocol is chosen.
2284
2285         Tests: http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html
2286                http/tests/websocket/tests/hybi/invalid-subprotocols.html
2287                http/tests/websocket/tests/hybi/multiple-subprotocols.html
2288                http/tests/websocket/tests/hybi/workers/multiple-subprotocols.html
2289
2290         * bindings/js/JSWebSocketCustom.cpp:
2291         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
2292         If the second argument of WebSocket constructor is an array, build a Vector<String> and
2293         pass it to WebSocket::connect().
2294         * bindings/v8/custom/V8WebSocketCustom.cpp:
2295         (WebCore::V8WebSocket::constructorCallback):
2296         Ditto.
2297         * websockets/WebSocket.cpp:
2298         (WebCore::isValidProtocolCharacter): Added.
2299         (WebCore::isValidProtocolString): Added.
2300         (WebCore::isValidProtocolStringHixie76): Renamed from isValidProtocolString.
2301         (WebCore::joinStrings):
2302         (WebCore::WebSocket::connect):
2303         If an array is provided as a subprotocol, and if hixie-76 is used for this connection, it
2304         must be converted to a string in the same manner as JavaScript's Array.toString() in order
2305         to keep compatibility.
2306         * websockets/WebSocket.h:
2307         Removed m_protocol because it was not used at all.
2308         * websockets/WebSocketChannel.cpp:
2309         (WebCore::WebSocketChannel::disconnect):
2310         WebSocketChannel may be released before connect() is called, thus m_handshake may be null.
2311
2312 2011-08-10  Andrey Kosyakov  <caseq@chromium.org>
2313
2314         Web Inspector: Network panel always displays file:// resources as "(pending)"
2315         https://bugs.webkit.org/show_bug.cgi?id=65784
2316
2317         Reviewed by Pavel Feldman.
2318
2319         Test: inspector/network-status-non-http.html
2320
2321         * English.lproj/localizedStrings.js:
2322         * inspector/front-end/NetworkPanel.js:
2323         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
2324         * inspector/front-end/Resource.js:
2325         (WebInspector.Resource.prototype.isHttpFamily):
2326
2327 2011-08-09  Luke Macpherson   <macpherson@chromium.org>
2328
2329         Use setFontDescription helper to set m_fontDirty.
2330         https://bugs.webkit.org/show_bug.cgi?id=65956
2331
2332         Reviewed by Dan Bernstein.
2333
2334         No new tests / trivial cleanup.
2335
2336         * css/CSSStyleSelector.cpp:
2337         (WebCore::CSSStyleSelector::applyProperty):
2338
2339 2011-08-09  Dominic Cooney  <dominicc@chromium.org>
2340
2341         [V8] The prototype property of DOM constructors should be read-only.
2342         https://bugs.webkit.org/show_bug.cgi?id=39655
2343
2344         Reviewed by Dimitri Glazkov.
2345
2346         Test: fast/dom/prototype-property.html
2347
2348         * bindings/scripts/CodeGeneratorV8.pm: Make prototypes read-only.
2349         * bindings/scripts/test/V8/V8TestInterface.cpp: Update expectations.
2350         (WebCore::ConfigureV8TestInterfaceTemplate):
2351         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2352         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2353         * bindings/scripts/test/V8/V8TestObj.cpp:
2354         (WebCore::ConfigureV8TestObjTemplate):
2355         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2356         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2357
2358 2011-08-09  Abhishek Arya  <inferno@chromium.org>
2359
2360         Style change not propagating for before, after content
2361         for table parts.
2362         https://bugs.webkit.org/show_bug.cgi?id=51862
2363
2364         Fix by Chris Evans (cevans@chromium.org).
2365         In the table case, make sure to return the before /
2366         after parent rather then the before / after node
2367         itself.
2368
2369         Reviewed by Simon Fraser.
2370
2371         * rendering/RenderObjectChildList.cpp:
2372         (WebCore::findBeforeAfterParent):
2373
2374 2011-08-09  Luke Macpherson   <macpherson@chromium.org>
2375
2376         Implement string based properties in CSSStyleApplyProperty.
2377         https://bugs.webkit.org/show_bug.cgi?id=65662
2378
2379         Reviewed by Darin Adler.
2380
2381         No new tests / refactoring only.
2382
2383         * css/CSSStyleApplyProperty.cpp:
2384         (WebCore::ApplyPropertyString::ApplyPropertyString):
2385         Added class to handle string based properties.
2386         (WebCore::ApplyPropertyString::applyValue):
2387         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2388         Add initializers for CSSPropertyWebkitHighlight and CSSPropertyWebkitHyphenateCharacter.
2389         * css/CSSStyleSelector.cpp:
2390         (WebCore::CSSStyleSelector::applyProperty):
2391         Remove existing implementations for CSSPropertyWebkitHighlight and CSSPropertyWebkitHyphenateCharacter.
2392
2393 2011-08-09  Emil A Eklund  <eae@chromium.org>
2394
2395         Switch RenderBlock to to new layout types
2396         https://bugs.webkit.org/show_bug.cgi?id=65396
2397
2398         Reviewed by Eric Seidel.
2399
2400         No new tests, no new functionality.
2401
2402         * rendering/RenderBlock.cpp:
2403         (WebCore::RenderBlock::MarginInfo::MarginInfo):
2404         (WebCore::RenderBlock::layoutBlock):
2405         (WebCore::RenderBlock::addOverflowFromChildren):
2406         (WebCore::RenderBlock::computeOverflow):
2407         (WebCore::RenderBlock::adjustPositionedBlock):
2408         (WebCore::RenderBlock::adjustFloatingBlock):
2409         (WebCore::RenderBlock::collapseMargins):
2410         (WebCore::RenderBlock::clearFloatsIfNeeded):
2411         (WebCore::RenderBlock::estimateLogicalTopPosition):
2412         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
2413         (WebCore::RenderBlock::setLogicalLeftForChild):
2414         (WebCore::RenderBlock::setLogicalTopForChild):
2415         (WebCore::RenderBlock::layoutBlockChildren):
2416         (WebCore::RenderBlock::layoutBlockChild):
2417         (WebCore::RenderBlock::flipFloatForWritingMode):
2418         (WebCore::RenderBlock::isPointInOverflowControl):
2419         (WebCore::RenderBlock::hitTestFloats):
2420         * rendering/RenderBlock.h:
2421         (WebCore::RenderBlock::logicalTopForFloat):
2422         (WebCore::RenderBlock::logicalBottomForFloat):
2423         (WebCore::RenderBlock::logicalLeftForFloat):
2424         (WebCore::RenderBlock::logicalRightForFloat):
2425         (WebCore::RenderBlock::logicalWidthForFloat):
2426         (WebCore::RenderBlock::setLogicalTopForFloat):
2427         (WebCore::RenderBlock::setLogicalLeftForFloat):
2428         (WebCore::RenderBlock::setLogicalHeightForFloat):
2429         (WebCore::RenderBlock::setLogicalWidthForFloat):
2430
2431 2011-08-09  Jeffrey Pfau  <jpfau@apple.com>
2432
2433         Initial pass at a new XML tree builder
2434         https://bugs.webkit.org/show_bug.cgi?id=65803
2435
2436         Reviewed by Adam Barth.
2437
2438         * GNUmakefile.list.am:
2439         * WebCore.gypi:
2440         * WebCore.pro:
2441         * WebCore.vcproj/WebCore.vcproj:
2442         * WebCore.xcodeproj/project.pbxproj:
2443         * xml/parser/NewXMLDocumentParser.cpp:
2444         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
2445         (WebCore::NewXMLDocumentParser::~NewXMLDocumentParser):
2446         (WebCore::NewXMLDocumentParser::append):
2447         (WebCore::NewXMLDocumentParser::finish):
2448         (WebCore::NewXMLDocumentParser::finishWasCalled):
2449         * xml/parser/NewXMLDocumentParser.h:
2450         * xml/parser/XMLTreeBuilder.cpp: Added.
2451         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
2452         (WebCore::XMLTreeBuilder::processToken):
2453         (WebCore::XMLTreeBuilder::pushCurrentNode):
2454         (WebCore::XMLTreeBuilder::popCurrentNode):
2455         (WebCore::XMLTreeBuilder::processProcessingInstruction):
2456         (WebCore::XMLTreeBuilder::processXMLDeclaration):
2457         (WebCore::XMLTreeBuilder::processDOCTYPE):
2458         (WebCore::XMLTreeBuilder::processStartTag):
2459         (WebCore::XMLTreeBuilder::processEndTag):
2460         (WebCore::XMLTreeBuilder::processCharacter):
2461         (WebCore::XMLTreeBuilder::processCDATA):
2462         (WebCore::XMLTreeBuilder::processComment):
2463         (WebCore::XMLTreeBuilder::processEntity):
2464         (WebCore::XMLTreeBuilder::processNamespaces):
2465         (WebCore::XMLTreeBuilder::processAttributes):
2466         (WebCore::XMLTreeBuilder::processXMLEntity):
2467         (WebCore::XMLTreeBuilder::processHTMLEntity):
2468         (WebCore::XMLTreeBuilder::add):
2469         (WebCore::XMLTreeBuilder::appendToText):
2470         (WebCore::XMLTreeBuilder::enterText):
2471         (WebCore::XMLTreeBuilder::exitText):
2472         (WebCore::XMLTreeBuilder::NodeStackItem::NodeStackItem):
2473         (WebCore::XMLTreeBuilder::NodeStackItem::hasNamespaceURI):
2474         (WebCore::XMLTreeBuilder::NodeStackItem::namespaceURI):
2475         (WebCore::XMLTreeBuilder::NodeStackItem::setNamespaceURI):
2476         (WebCore::XMLTreeBuilder::NodeStackItem::namespaceForPrefix):
2477         * xml/parser/XMLTreeBuilder.h: Added.
2478         (WebCore::XMLTreeBuilder::create):
2479         (WebCore::XMLTreeBuilder::NodeStackItem::namespaceURI):
2480         (WebCore::XMLTreeBuilder::NodeStackItem::setNamespaceURI):
2481         (WebCore::XMLTreeBuilder::NodeStackItem::node):
2482         (WebCore::XMLTreeBuilder::NodeStackItem::setNode):
2483
2484 2011-08-09  Mark Hahnenberg  <mhahnenberg@apple.com>
2485
2486         Add ParentClass typedef in all JSC classes
2487         https://bugs.webkit.org/show_bug.cgi?id=65731
2488
2489         Reviewed by Oliver Hunt.
2490
2491         No new tests.
2492
2493         Just added the Base typedefs in all the classes that are a subclass of JSCell 
2494         to point at their parent classes.  This is a change to support future changes to the way
2495         constructors and destructors are implemented in JS objects, among other things.
2496
2497         * bindings/js/JSAudioConstructor.h:
2498         * bindings/js/JSImageConstructor.h:
2499         * bindings/js/JSOptionConstructor.h:
2500         * bindings/scripts/CodeGeneratorJS.pm:
2501         (GenerateHeader):
2502         (GenerateConstructorDeclaration):
2503         * bindings/scripts/test/JS/JSTestInterface.cpp:
2504         * bindings/scripts/test/JS/JSTestInterface.h:
2505         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2506         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2507         * bindings/scripts/test/JS/JSTestObj.cpp:
2508         * bindings/scripts/test/JS/JSTestObj.h:
2509         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2510         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2511         * bridge/c/CRuntimeObject.h:
2512         * bridge/c/c_instance.cpp:
2513         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2514         * bridge/jni/jsc/JavaRuntimeObject.h:
2515         * bridge/objc/ObjCRuntimeObject.h:
2516         * bridge/objc/objc_runtime.h:
2517         * bridge/qt/qt_instance.cpp:
2518         * bridge/qt/qt_pixmapruntime.cpp:
2519         * bridge/qt/qt_runtime.h:
2520         * bridge/runtime_array.h:
2521         * bridge/runtime_method.h:
2522         * bridge/runtime_object.h:
2523         * bridge/testqtbindings.cpp:
2524         (Global::className):
2525
2526 2011-08-09  Alexei Svitkine  <asvitkine@chromium.org>
2527
2528         [Chromium] Enable rubber banding when scrolling.
2529
2530         https://bugs.webkit.org/show_bug.cgi?id=65707
2531
2532         Reviewed by Dimitri Glazkov.
2533
2534         No new tests since this is just syncing changes to chromium platform.
2535
2536         * platform/PlatformWheelEvent.h:
2537         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2538         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2539         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
2540
2541 2011-08-09  Vsevolod Vlasov  <vsevik@chromium.org>
2542
2543         Web Inspector: XHRs end up in the resources panel.
2544         https://bugs.webkit.org/show_bug.cgi?id=60321
2545
2546         Reviewed by Pavel Feldman.
2547
2548         Test: http/tests/inspector/resource-tree/resource-tree-no-xhrs.html
2549
2550         * inspector/front-end/ResourceTreeModel.js:
2551         (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
2552         * inspector/front-end/ResourcesPanel.js:
2553         (WebInspector.ResourcesPanel):
2554
2555 2011-08-08  Adrienne Walker  <enne@google.com>
2556
2557         Add testing for --force-compositing-mode to windows.internal
2558         https://bugs.webkit.org/show_bug.cgi?id=65777
2559
2560         Reviewed by Adam Barth.
2561
2562         Test: platform/chromium/compositing/force-compositing-mode/force-composite-empty.html
2563
2564         Move initial initialization to settings caching function so that RLC
2565         picks up changes to the force compositing mode flag.
2566
2567         * WebCore.exp.in:
2568         * rendering/RenderLayerCompositor.cpp:
2569         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2570         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
2571         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2572         * testing/Internals.cpp:
2573         (WebCore::Internals::setForceCompositingMode):
2574         * testing/Internals.h:
2575         * testing/Internals.idl:
2576
2577 2011-08-09  Alexandru Chiculita  <achicu@adobe.com>
2578
2579         Fixing 65868 REGRESSION(r92610) caused by 65668 - Optimize floating elements lookup
2580         https://bugs.webkit.org/show_bug.cgi?id=65871
2581
2582         Added an interval tree in the FloatingObjects structure. Also added new mechanisms to make
2583         sure the tree is updated correctly when a float is repositioned.
2584
2585         Changed the PODIntervalTree to support giving a search adapter that can be implemented by the
2586         client. I'm not adding a different bug for that because PODIntervalTree is not used anywhere else
2587         and would be hard to test that the change is not breaking anything.
2588
2589         Reviewed by Dave Hyatt.
2590
2591         No new tests, just a refactor on the floating objects data structure.
2592
2593         * WebCore.xcodeproj/project.pbxproj:
2594         * platform/PODIntervalTree.h:
2595         (WebCore::PODIntervalSearchAdapter::PODIntervalSearchAdapter):
2596         (WebCore::PODIntervalSearchAdapter::lowValue):
2597         (WebCore::PODIntervalSearchAdapter::highValue):
2598         (WebCore::PODIntervalSearchAdapter::collectIfNeeded):
2599         (WebCore::PODIntervalTree::PODIntervalTree):
2600         (WebCore::PODIntervalTree::allOverlaps):
2601         (WebCore::PODIntervalTree::allOverlapsWithAdapter):
2602         (WebCore::PODIntervalTree::searchForOverlapsFrom):
2603         * platform/PODRedBlackTree.h:
2604         (WebCore::PODRedBlackTree::PODRedBlackTree):
2605         (WebCore::PODRedBlackTree::clear):
2606         (WebCore::PODRedBlackTree::isInitialized):
2607         (WebCore::PODRedBlackTree::initIfNeeded):
2608         (WebCore::PODRedBlackTree::add):
2609         (WebCore::PODRedBlackTree::remove):
2610         (WebCore::PODRedBlackTree::contains):
2611         (WebCore::PODRedBlackTree::visitInorder):
2612         (WebCore::PODRedBlackTree::size):
2613         (WebCore::PODRedBlackTree::checkInvariants):
2614         (WebCore::PODRedBlackTree::dump):
2615         * rendering/RenderBlock.cpp:
2616         (WebCore::RenderBlock::styleDidChange):
2617         (WebCore::RenderBlock::addOverflowFromFloats):
2618         (WebCore::RenderBlock::repaintOverhangingFloats):
2619         (WebCore::RenderBlock::paintFloats):
2620         (WebCore::RenderBlock::selectionGaps):
2621         (WebCore::RenderBlock::insertFloatingObject):
2622         (WebCore::RenderBlock::removeFloatingObject):
2623         (WebCore::RenderBlock::removeFloatingObjectsBelow):
2624         (WebCore::RenderBlock::positionNewFloats):
2625         (WebCore::::collectIfNeeded):
2626         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2627         (WebCore::RenderBlock::logicalRightOffsetForLine):
2628         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
2629         (WebCore::RenderBlock::lowestFloatLogicalBottom):
2630         (WebCore::RenderBlock::addPositionedFloats):
2631         (WebCore::RenderBlock::clearFloats):
2632         (WebCore::RenderBlock::addOverhangingFloats):
2633         (WebCore::RenderBlock::hasOverhangingFloat):
2634         (WebCore::RenderBlock::addIntrudingFloats):
2635         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
2636         (WebCore::RenderBlock::hitTestFloats):
2637         (WebCore::RenderBlock::adjustForBorderFit):
2638         (WebCore::RenderBlock::FloatingObjects::clear):
2639         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
2640         (WebCore::RenderBlock::FloatingObjects::addPlacedObject):
2641         (WebCore::RenderBlock::FloatingObjects::removePlacedObject):
2642         (WebCore::RenderBlock::FloatingObjects::add):
2643         (WebCore::RenderBlock::FloatingObjects::remove):
2644         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):
2645         (WebCore::::string):
2646         * rendering/RenderBlock.h:
2647         (WebCore::RenderBlock::FloatingObject::FloatingObject):
2648         (WebCore::RenderBlock::FloatingObject::setX):
2649         (WebCore::RenderBlock::FloatingObject::setY):
2650         (WebCore::RenderBlock::FloatingObject::setWidth):
2651         (WebCore::RenderBlock::FloatingObject::setHeight):
2652         (WebCore::RenderBlock::FloatingObject::setFrameRect):
2653         (WebCore::RenderBlock::FloatingObject::isInPlacedTree):
2654         (WebCore::RenderBlock::FloatingObject::setIsInPlacedTree):
2655         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
2656         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
2657         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
2658         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
2659         (WebCore::RenderBlock::FloatingObjects::setHorizontalWritingMode):
2660         (WebCore::RenderBlock::FloatingObjects::set):
2661         (WebCore::RenderBlock::FloatingObjects::placedFloatsTree):
2662         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTreeIfNeeded):
2663         * rendering/RenderBlockLineLayout.cpp:
2664         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2665         (WebCore::RenderBlock::linkToEndLineIfNeeded):
2666         (WebCore::RenderBlock::matchedEndLine):
2667         (WebCore::RenderBlock::positionNewFloatOnLine):
2668
2669 2011-08-08  Ryosuke Niwa  <rniwa@webkit.org>
2670
2671         Repeated copy and paste result in nested font elements
2672         https://bugs.webkit.org/show_bug.cgi?id=65824
2673
2674         Reviewed by Tony Chang.
2675
2676         Modified isInlineNodeWithStyle to match font element. Also made the function match strictly with those nodes that
2677         ApplyStyleCommand may add to avoid removing non-styling elements. And fixed a regression from r81887 that
2678         ReplaceSelectionCommand may remove non-editing styles such as border in the attempt to avoid nesting styling elements.
2679
2680         This patch paves the way to fix the bug 34564.
2681
2682         Tests: editing/pasteboard/paste-text-with-style-2.html
2683                editing/pasteboard/paste-text-with-style-3.html
2684                editing/pasteboard/paste-text-with-style-4.html
2685
2686         * editing/EditingStyle.cpp:
2687         (WebCore::HTMLElementEquivalent::matches): Takes const Element* instead of Element*.
2688         (WebCore::HTMLAttributeEquivalent::matches): Ditto.
2689         (WebCore::htmlElementEquivalents): Extracted from conflictsWithImplicitStyleOfElement.
2690         (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Calls htmlElementEquivalents.
2691         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent): Added; determines whether an element is style span
2692         or a styling element (e.g. b, i, font) possibly with editing style.
2693         * editing/EditingStyle.h:
2694         * editing/ReplaceSelectionCommand.cpp:
2695         (WebCore::isInlineNodeWithStyle): Calls EditingStyle::elementIsStyledSpanOrHTMLEquivalent.
2696         (WebCore::ReplaceSelectionCommand::doApply): More aggressively avoid nesting styling elements.
2697         * editing/htmlediting.cpp:
2698         (WebCore::highestEnclosingNodeOfType):
2699         * editing/htmlediting.h:
2700
2701 2011-08-09  Dmitry Lomov  <dslomov@google.com>
2702
2703         https://bugs.webkit.org/show_bug.cgi?id=65778
2704         [WebWorkers][chromium] Make statics thread-safe and make sure V8 API accesses correct isolates.
2705
2706         Reviewed by Dmitry Titov.
2707
2708         Covered by existing tests.
2709
2710         * bindings/v8/V8Binding.cpp:
2711         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
2712         * bindings/v8/V8Binding.h:
2713         (WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
2714         (WebCore::V8BindingPerIsolateData::hiddenPropertyName):
2715         (WebCore::V8BindingPerIsolateData::globalHandleMap):
2716         (WebCore::AllowAllocation::AllowAllocation):Moving to V8Binding.h from V8Utilities.h to resolve header dependency.
2717         (WebCore::AllowAllocation::~AllowAllocation):
2718         (WebCore::AllowAllocation::current):
2719         (WebCore::SafeAllocation::newInstance):
2720         * bindings/v8/V8GCController.cpp:
2721         (WebCore::currentGlobalHandleMap):
2722         (WebCore::enumerateGlobalHandles):
2723         (WebCore::V8GCController::registerGlobalHandle):
2724         (WebCore::V8GCController::unregisterGlobalHandle):
2725         * bindings/v8/V8HiddenPropertyName.cpp:
2726         (WebCore::V8HiddenPropertyName::createString):
2727         * bindings/v8/V8HiddenPropertyName.h:
2728         (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
2729         * bindings/v8/V8LazyEventListener.cpp:
2730         (WebCore::V8LazyEventListener::prepareListenerObject):
2731         * bindings/v8/V8NPObject.cpp:
2732         * bindings/v8/V8Proxy.cpp:
2733         (WebCore::V8Proxy::checkNewLegal):
2734         * bindings/v8/V8Utilities.h:
2735         * bindings/v8/WorkerContextExecutionProxy.cpp:
2736         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
2737         (WebCore::WorkerContextExecutionProxy::initIsolate):
2738         * bindings/v8/WorkerContextExecutionProxy.h:
2739         * bindings/v8/WorkerScriptController.cpp:
2740         (WebCore::WorkerScriptController::scheduleExecutionTermination):
2741
2742 2011-08-09  Steve Block  <steveblock@google.com>
2743
2744         JavaString is not needed by V8
2745         https://bugs.webkit.org/show_bug.cgi?id=65909
2746
2747         Removes the JavaString wrapper class, moves the JSC implementation
2748         to JavaStringJSC.h and removes the V8 implementation.
2749
2750         Reviewed by Alexey Proskuryakov.
2751
2752         No new tests, refactoring only.
2753
2754         * GNUmakefile.list.am:
2755         * WebCore.gypi:
2756         * WebCore.xcodeproj/project.pbxproj:
2757         * bridge/jni/JavaString.h: Removed.
2758         * bridge/jni/jni_jsobject.mm:
2759         * bridge/jni/jsc/JavaFieldJSC.h:
2760         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2761         * bridge/jni/jsc/JavaMethodJSC.h:
2762         * bridge/jni/jsc/JavaStringJSC.h:
2763         (JSC::Bindings::JavaString::JavaString):
2764         (JSC::Bindings::JavaString::~JavaString):
2765         (JSC::Bindings::JavaString::init):
2766         * bridge/jni/v8/JavaStringV8.h: Removed.
2767
2768 2011-08-09  Abhishek Arya  <inferno@chromium.org>
2769
2770         Regression(83075): Fix updateAlwaysCreateLineBoxes on information 
2771         about full layout which is needed when dirtying lineboxes.
2772         https://bugs.webkit.org/show_bug.cgi?id=65924
2773
2774         Reviewed by Dave Hyatt.
2775
2776         Test: fast/inline/update-always-create-line-boxes-full-layout-crash.html
2777
2778         * rendering/RenderBlockLineLayout.cpp:
2779         (WebCore::RenderBlock::layoutInlineChildren):
2780         * rendering/RenderInline.cpp:
2781         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
2782         * rendering/RenderInline.h:
2783
2784 2011-08-09  Nate Chapin  <japhet@chromium.org>
2785
2786         Remove receivedCancellation() from SubresourceLoaderClient.
2787
2788         http://bugs.webkit.org/show_bug.cgi?id=65330
2789
2790         Reviewed by Alexey Proskuryakov.
2791
2792         No new tests, no change in functionality intended.
2793
2794         * loader/DocumentThreadableLoader.cpp:
2795         * loader/DocumentThreadableLoader.h:
2796         * loader/SubresourceLoader.cpp:
2797         * loader/SubresourceLoader.h:
2798         * loader/SubresourceLoaderClient.h:
2799         * loader/ThreadableLoaderClient.h:
2800         * loader/WorkerThreadableLoader.cpp:
2801         * loader/WorkerThreadableLoader.h:
2802         * notifications/Notification.cpp:
2803         * notifications/Notification.h:  Remove receivedCancellation() since it's
2804            identical to didFail(), which is always called immediately after.
2805         * workers/WorkerScriptLoader.cpp:
2806         * workers/WorkerScriptLoader.h: Remove receivedCancellation() since it's
2807            identical to didFail(), which is always called immediately after.
2808         * xml/XMLHttpRequest.cpp:
2809         * xml/XMLHttpRequest.h: Remove receivedCancellation().  All it does is
2810            set m_response, which is cleared in didFail() before it can be used.
2811
2812 2011-08-09  Steve Block  <steveblock@google.com>
2813
2814         Java Bridge leaks local references
2815         https://bugs.webkit.org/show_bug.cgi?id=64320
2816
2817         Reviewed by Alexey Proskuryakov.
2818
2819         No new tests as this is just an optimization.
2820
2821         * bridge/jni/jsc/JavaFieldJSC.cpp:
2822         (JavaField::JavaField):
2823         * bridge/jni/jsc/JavaMethodJSC.cpp:
2824         (JavaMethod::JavaMethod):
2825
2826 2011-08-09  Pavel Feldman  <pfeldman@google.com>
2827
2828         Web Inspector: files from different domains are mixed in the file selector in Scripts panel
2829         https://bugs.webkit.org/show_bug.cgi?id=65601
2830
2831         Reviewed by Yury Semikhatsky.
2832
2833         * inspector/front-end/ScriptsPanel.js:
2834         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
2835         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
2836         (WebInspector.ScriptsPanel.prototype.reset):
2837         * inspector/front-end/inspector.css:
2838         (select.status-bar-item):
2839
2840 2011-08-09  Pavel Feldman  <pfeldman@google.com>
2841
2842         Web Inspector: provide a way to hide user agent styles
2843         https://bugs.webkit.org/show_bug.cgi?id=37766
2844
2845         Reviewed by Yury Semikhatsky.
2846
2847         Test: inspector/styles/show-user-agent-styles.html
2848
2849         * English.lproj/localizedStrings.js:
2850         * inspector/front-end/Settings.js:
2851         (WebInspector.Settings):
2852         * inspector/front-end/SettingsScreen.js:
2853         (WebInspector.SettingsScreen):
2854         * inspector/front-end/StylesSidebarPane.js:
2855         (WebInspector.StylesSidebarPane):
2856         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.get continue):
2857         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
2858         (WebInspector.StylesSidebarPane.prototype._createElementStatePane):
2859         (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
2860
2861 2011-08-09  Steve Block  <steveblock@google.com>
2862
2863         JavaMethodJobject is no longer needed by V8
2864         https://bugs.webkit.org/show_bug.cgi?id=65910
2865
2866         Reviewed by Tony Gentilcore.
2867
2868         Removes the JavaMethod interface and moves the JavaMethodJobject
2869         implementation to bridge/jni/jsc/JavaMethodJSC.[cpp|h].
2870
2871         No new tests, refactoring only.
2872
2873         * GNUmakefile.list.am:
2874         * WebCore.gypi:
2875         * WebCore.xcodeproj/project.pbxproj:
2876         * bridge/jni/JavaMethod.h: Removed.
2877         * bridge/jni/jsc/JavaClassJSC.cpp:
2878         (JavaClass::JavaClass):
2879         * bridge/jni/jsc/JavaFieldJSC.h:
2880         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2881         * bridge/jni/jsc/JavaMethodJSC.cpp: Renamed from Source/WebCore/bridge/jni/JavaMethodJobject.cpp.
2882         (JavaMethod::JavaMethod):
2883         (JavaMethod::~JavaMethod):
2884         (appendClassName):
2885         (JavaMethod::signature):
2886         * bridge/jni/jsc/JavaMethodJSC.h: Renamed from Source/WebCore/bridge/jni/JavaMethodJobject.h.
2887         (JSC::Bindings::JavaMethod::name):
2888         (JSC::Bindings::JavaMethod::returnTypeClassName):
2889         (JSC::Bindings::JavaMethod::parameterAt):
2890         (JSC::Bindings::JavaMethod::returnType):
2891         (JSC::Bindings::JavaMethod::isStatic):
2892         (JSC::Bindings::JavaMethod::numParameters):
2893         * bridge/jni/v8/JavaNPObjectV8.cpp:
2894
2895 2011-08-09  Andrey Kosyakov  <caseq@chromium.org>
2896
2897         Web Inspector: assertion failure in InspectorDOMStorageResource::bind when opening inspector
2898         https://bugs.webkit.org/show_bug.cgi?id=65912
2899
2900         Reviewed by Pavel Feldman.
2901
2902         * inspector/InspectorDOMStorageAgent.cpp:
2903         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
2904
2905 2011-08-09  Yury Semikhatsky  <yurys@chromium.org>
2906
2907         Web Inspector: get rid of InspectorInstrumentation::inspectorAgents() map
2908         https://bugs.webkit.org/show_bug.cgi?id=54678
2909
2910         Added two functions for retrieving InstrumentingAgents from Page and WorkerContext.
2911
2912         Reviewed by Pavel Feldman.
2913
2914         * CMakeLists.txt:
2915         * GNUmakefile.list.am:
2916         * WebCore.gypi:
2917         * WebCore.pro:
2918         * WebCore.vcproj/WebCore.vcproj:
2919         * WebCore.xcodeproj/project.pbxproj:
2920         * inspector/InspectorController.cpp:
2921         (WebCore::InspectorController::InspectorController):
2922         (WebCore::InspectorController::inspectedPageDestroyed):
2923         * inspector/InspectorController.h:
2924         * inspector/InspectorInstrumentation.cpp:
2925         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
2926         * inspector/InspectorInstrumentation.h:
2927         * inspector/InstrumentingAgents.cpp: Copied from Source/WebCore/inspector/WorkerInspectorController.h.
2928         (WebCore::instrumentationForPage):
2929         (WebCore::instrumentationForWorkerContext):
2930         * inspector/InstrumentingAgents.h:
2931         * inspector/WorkerInspectorController.h:
2932
2933 2011-08-09  Vsevolod Vlasov  <vsevik@chromium.org>
2934
2935         Web Inspector: Add "Refresh" to context menu of resources panel cookies view.
2936         https://bugs.webkit.org/show_bug.cgi?id=65854
2937
2938         Reviewed by Pavel Feldman.
2939
2940         * inspector/front-end/CookieItemsView.js:
2941         (WebInspector.CookieItemsView):
2942         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2943         (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
2944         (WebInspector.CookieItemsView.prototype._contextMenu):
2945         * inspector/front-end/CookiesTable.js:
2946         (WebInspector.CookiesTable):
2947         * inspector/front-end/DataGrid.js:
2948         (WebInspector.DataGrid.prototype.get refreshCallback):
2949         (WebInspector.DataGrid.prototype.set refreshCallback):
2950         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
2951         * inspector/front-end/ResourceCookiesView.js:
2952         (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
2953
2954 2011-08-09  Vsevolod Vlasov  <vsevik@chromium.org>
2955
2956         Web Inspector: Resources panel does not show main resource cookies.
2957         https://bugs.webkit.org/show_bug.cgi?id=65770
2958
2959         Reviewed by Pavel Feldman.
2960
2961         Test: http/tests/inspector/resource-main-cookies.php
2962
2963         * inspector/InspectorPageAgent.cpp:
2964         (WebCore::allResourcesURLsForFrame):
2965         (WebCore::InspectorPageAgent::getCookies):
2966         (WebCore::InspectorPageAgent::deleteCookie):
2967
2968 2011-08-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2969
2970         Unreviewed, rolling out r92670.
2971         http://trac.webkit.org/changeset/92670
2972         https://bugs.webkit.org/show_bug.cgi?id=65905
2973
2974         It broke 3 inspector tests (Requested by Ossy on #webkit).
2975
2976         * inspector/InjectedScript.cpp:
2977         (WebCore::InjectedScript::getProperties):
2978         * inspector/InjectedScript.h:
2979         * inspector/InjectedScriptSource.js:
2980         (.):
2981         * inspector/Inspector.json:
2982         * inspector/InspectorRuntimeAgent.cpp:
2983         (WebCore::InspectorRuntimeAgent::getProperties):
2984         * inspector/InspectorRuntimeAgent.h:
2985         * inspector/front-end/ObjectPropertiesSection.js:
2986         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
2987         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2988         * inspector/front-end/RemoteObject.js:
2989         (WebInspector.RemoteObject.prototype.getOwnProperties):
2990         (WebInspector.RemoteObject.prototype.getAllProperties):
2991         (WebInspector.RemoteObject.prototype._getProperties.remoteObjectBinder):
2992         (WebInspector.RemoteObject.prototype._getProperties):
2993         (WebInspector.RemoteObjectProperty):
2994         * inspector/front-end/inspector.css:
2995         (.section .properties .value.dimmed):
2996
2997 2011-08-09  Pavel Feldman  <pfeldman@google.com>
2998
2999         Web Inspector: there should be a way to tell what properties are non-enumerable when expanding objects.
3000         https://bugs.webkit.org/show_bug.cgi?id=65518
3001
3002         Reviewed by Yury Semikhatsky.
3003
3004         * inspector/InjectedScript.cpp:
3005         (WebCore::InjectedScript::getProperties):
3006         * inspector/InjectedScript.h:
3007         * inspector/InjectedScriptSource.js:
3008         (.):
3009         * inspector/Inspector.json:
3010         * inspector/InspectorRuntimeAgent.cpp:
3011         (WebCore::InspectorRuntimeAgent::getProperties):
3012         * inspector/InspectorRuntimeAgent.h:
3013         * inspector/front-end/ObjectPropertiesSection.js:
3014         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
3015         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3016         * inspector/front-end/RemoteObject.js:
3017         (WebInspector.RemoteObject.prototype.getOwnProperties):
3018         (WebInspector.RemoteObject.prototype.getAllProperties):
3019         (WebInspector.RemoteObjectProperty):
3020         * inspector/front-end/inspector.css:
3021         (.section .properties .dimmed):
3022
3023 2011-08-08  Steve Block  <steveblock@google.com>
3024
3025         Removes V8's JavaInstanceJobject, JavaClassJobject and JavaFieldJobject.
3026         https://bugs.webkit.org/show_bug.cgi?id=57859
3027
3028         Reviewed by Alexey Proskuryakov.
3029
3030         This effectively reverts the changes made in Bugs 55383, 57533 and
3031         55766. These classes were only used by Android. In the future, Android
3032         will use the Chromium WebKit API to implement the Java bridge.
3033
3034         Towards this goal, this patch ...
3035         - Simplfies the JavaInstance, JavaClass and JavaField interfaces for V8.
3036           These interfaces will be implemented in Chromium's WebKit layer.
3037         - Adds a JavaMethod interface for V8
3038         - Removes the jvalue <-> JavaValue conversion functions for V8, which are
3039           now superfluous
3040         - Removes the calls to JavaInstance::begin()/end() for V8, which are now
3041           superfluous
3042
3043         Will be covered by existing tests once the Chromium WebKit layer is complete.
3044
3045         * WebCore.gypi:
3046         * bridge/jni/v8/JNIUtilityPrivate.cpp:
3047         * bridge/jni/v8/JNIUtilityPrivate.h:
3048         * bridge/jni/v8/JavaClassJobjectV8.cpp: Removed.
3049         * bridge/jni/v8/JavaFieldJobjectV8.cpp: Removed.
3050         * bridge/jni/v8/JavaFieldJobjectV8.h: Removed.
3051         * bridge/jni/v8/JavaFieldV8.h:
3052         * bridge/jni/v8/JavaInstanceJobjectV8.cpp: Removed.
3053         * bridge/jni/v8/JavaInstanceJobjectV8.h: Removed.
3054         * bridge/jni/v8/JavaInstanceV8.h:
3055         * bridge/jni/v8/JavaMethodV8.h:
3056         (JSC::Bindings::JavaMethod::~JavaMethod):
3057         * bridge/jni/v8/JavaNPObjectV8.cpp:
3058         (JSC::Bindings::JavaNPObjectHasMethod):
3059         (JSC::Bindings::JavaNPObjectInvoke):
3060         (JSC::Bindings::JavaNPObjectHasProperty):
3061         (JSC::Bindings::JavaNPObjectGetProperty):
3062
3063 2011-08-08  Chris Rogers  <crogers@google.com>
3064
3065         Fix thread-safety of AudioNode deletion
3066         https://bugs.webkit.org/show_bug.cgi?id=65888
3067
3068         Reviewed by Kenneth Russell
3069
3070         No new tests - JavaScript API is not affected.
3071
3072         * webaudio/AudioContext.cpp:
3073         (WebCore::AudioContext::AudioContext):
3074         (WebCore::AudioContext::constructCommon):
3075         (WebCore::AudioContext::~AudioContext):
3076         (WebCore::AudioContext::uninitialize):
3077         (WebCore::AudioContext::handlePostRenderTasks):
3078         (WebCore::AudioContext::scheduleNodeDeletion):
3079         (WebCore::AudioContext::deleteMarkedNodesDispatch):
3080         (WebCore::AudioContext::deleteMarkedNodes):
3081         * webaudio/AudioContext.h:
3082
3083 2011-08-08  Chris Marrin  <cmarrin@apple.com>
3084
3085         Fix build breakage caused by http://trac.webkit.org/changeset/92651
3086
3087         Unreviewed.
3088
3089         * WebCore.exp.in:
3090
3091 2011-08-08  Chris Marrin  <cmarrin@apple.com>
3092
3093         Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
3094         https://bugs.webkit.org/show_bug.cgi?id=65708
3095
3096         Add logic to syncCompositingState to compute the visible rect for each
3097         layer. This can be used to synchronously render the visible tiles of a
3098         TiledLayer and avoid the flashing that often occurs when tiles are rendered
3099         asynchronously. A new synchronouslyDisplayTilesInRect is also added to do
3100         the actual rendering, but the call is not currently being made.
3101
3102         Reviewed by Simon Fraser.
3103
3104         * page/FrameView.cpp:
3105         (WebCore::FrameView::syncCompositingStateForThisFrame):
3106         * platform/graphics/GraphicsLayer.h:
3107         (WebCore::GraphicsLayer::syncCompositingState):
3108         * platform/graphics/ca/GraphicsLayerCA.cpp:
3109         (WebCore::GraphicsLayerCA::syncCompositingState):
3110         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
3111         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
3112         (WebCore::GraphicsLayerCA::updateSublayerList):
3113         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3114         * platform/graphics/ca/GraphicsLayerCA.h:
3115         * platform/graphics/ca/PlatformCALayer.h:
3116         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3117         (PlatformCALayer::synchronouslyDisplayTilesInRect):
3118         * platform/graphics/transforms/TransformState.cpp:
3119         (WebCore::TransformState::operator=):
3120         * platform/graphics/transforms/TransformState.h:
3121         (WebCore::TransformState::TransformState):
3122         * rendering/RenderLayerCompositor.cpp:
3123         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
3124
3125 2011-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3126
3127         Unreviewed, rolling out r92619.
3128         http://trac.webkit.org/changeset/92619
3129         https://bugs.webkit.org/show_bug.cgi?id=65881
3130
3131         This patch breaks chromium canary (Requested by jianli on
3132         #webkit).
3133
3134         * bindings/v8/V8Binding.h:
3135         * bindings/v8/V8GCController.cpp:
3136         (WebCore::globalHandleMap):
3137         (WebCore::enumerateGlobalHandles):
3138         (WebCore::V8GCController::registerGlobalHandle):
3139         (WebCore::V8GCController::unregisterGlobalHandle):
3140         * bindings/v8/V8HiddenPropertyName.cpp:
3141         (WebCore::V8HiddenPropertyName::createString):
3142         * bindings/v8/V8HiddenPropertyName.h:
3143         * bindings/v8/V8LazyEventListener.cpp:
3144         (WebCore::V8LazyEventListener::prepareListenerObject):
3145         * bindings/v8/V8NPObject.cpp:
3146         * bindings/v8/V8Proxy.cpp:
3147         (WebCore::V8Proxy::checkNewLegal):
3148         * bindings/v8/V8Utilities.h:
3149         (WebCore::AllowAllocation::AllowAllocation):
3150         (WebCore::AllowAllocation::~AllowAllocation):
3151         (WebCore::SafeAllocation::newInstance):
3152         * bindings/v8/WorkerContextExecutionProxy.cpp:
3153         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
3154         (WebCore::WorkerContextExecutionProxy::initV8):
3155         * bindings/v8/WorkerContextExecutionProxy.h:
3156         * bindings/v8/WorkerScriptController.cpp:
3157         (WebCore::WorkerScriptController::scheduleExecutionTermination):
3158
3159 2011-08-08  Scott Byer  <scottbyer@chromium.org>
3160
3161         Scroll animator changes to nail the framerate
3162         https://bugs.webkit.org/show_bug.cgi?id=65645
3163
3164         Reviewed by James Robinson.
3165
3166         Partial test in ScrollAnimatorNoneTest::Enabled.
3167
3168         * platform/ScrollAnimatorNone.cpp:
3169         (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
3170         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
3171         (WebCore::ScrollAnimatorNone::PerAxisData::animateScroll):
3172         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
3173         (WebCore::ScrollAnimatorNone::~ScrollAnimatorNone):
3174         (WebCore::ScrollAnimatorNone::scroll):
3175         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
3176         (WebCore::ScrollAnimatorNone::animationTimerFired):
3177         (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
3178         * platform/ScrollAnimatorNone.h:
3179
3180 2011-08-08  Emil A Eklund  <eae@chromium.org>
3181
3182         Switch legacy flexbox to to new layout types
3183         https://bugs.webkit.org/show_bug.cgi?id=65340
3184
3185         Reviewed by Eric Seidel.
3186
3187         No new tests, no new functionality.
3188
3189         * rendering/RenderDeprecatedFlexibleBox.cpp:
3190         (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
3191         (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
3192         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
3193         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
3194         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
3195         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
3196         (WebCore::RenderDeprecatedFlexibleBox::placeChild):
3197         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
3198         * rendering/RenderDeprecatedFlexibleBox.h:
3199
3200 2011-08-08  Emil A Eklund  <eae@chromium.org>
3201
3202         Switch RenderStyle to to new layout types
3203         https://bugs.webkit.org/show_bug.cgi?id=65208
3204
3205         Reviewed by Eric Seidel.
3206
3207         No new tests, no new functionality.
3208
3209         * rendering/RenderBox.cpp:
3210         (WebCore::RenderBox::addShadowOverflow):
3211         * rendering/style/RenderStyle.cpp:
3212         (WebCore::RenderStyle::applyTransform):
3213         (WebCore::calcRadiiFor):
3214         (WebCore::RenderStyle::getRoundedBorderFor):
3215         (WebCore::RenderStyle::getRoundedInnerBorderFor):
3216         * rendering/style/RenderStyle.h:
3217         * rendering/style/ShadowData.cpp:
3218         (WebCore::ShadowData::adjustRectForShadow):
3219
3220 2011-08-08  Cris Neckar  <cdn@chromium.org>
3221
3222         Remove counter nodes from the tree and fix-up children when they are removed from the counter map.
3223         https://bugs.webkit.org/show_bug.cgi?id=65346
3224
3225         Reviewed by Adam Barth.
3226
3227         Covered by existing CSS counter tests.
3228
3229         * rendering/CounterNode.cpp:
3230         (WebCore::CounterNode::~CounterNode):
3231
3232 2011-08-08  Tony Chang  <tony@chromium.org>
3233
3234         implement basic horizontal flexing
3235         https://bugs.webkit.org/show_bug.cgi?id=65045
3236
3237         Reviewed by David Hyatt.
3238
3239         Test: css3/flexbox/001.html
3240
3241         * css/CSSPrimitiveValueMappings.h:
3242         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3243         * rendering/RenderBox.cpp:
3244         (WebCore::RenderBox::computeLogicalWidth):
3245         * rendering/RenderFlexibleBox.cpp:
3246         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::FlexibleBoxIterator): flexitem iterator
3247         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::first):
3248         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::next):
3249         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::reset):
3250         (WebCore::RenderFlexibleBox::layoutBlock):
3251         (WebCore::preferredFlexItemContentWidth): Returns the intrinsic size of a flex item's content.
3252         (WebCore::RenderFlexibleBox::layoutHorizontalBlock): Runs the flex algorithm
3253         (WebCore::preferredSizeForMarginsAndPadding):
3254         (WebCore::RenderFlexibleBox::computePreferredSize): Calculate the preferred size of the
3255             flex items.
3256         * rendering/RenderFlexibleBox.h:
3257         * rendering/RenderObject.cpp:
3258         (WebCore::RenderObject::createObject):
3259         * rendering/style/RenderStyleConstants.h:
3260
3261 2011-08-08  David Grogan  <dgrogan@chromium.org>
3262
3263         Add detail to ASSERT message in IDBTransaction::enqueueEvent
3264         https://bugs.webkit.org/show_bug.cgi?id=65735
3265
3266         I've hit this a few times but haven't been able to pin it down.  The
3267         extra detail could be helpful.
3268
3269         Reviewed by Nate Chapin.
3270
3271         No new tests, just an error message.
3272
3273         * storage/IDBTransaction.cpp:
3274         (WebCore::IDBTransaction::enqueueEvent):
3275
3276 2011-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3277
3278         Unreviewed, rolling out r92610.
3279         http://trac.webkit.org/changeset/92610
3280         https://bugs.webkit.org/show_bug.cgi?id=65868
3281
3282         Caused assertion failures when running fast/multicol tests
3283         (Requested by andersca on #webkit).
3284
3285         * WebCore.xcodeproj/project.pbxproj:
3286         * platform/PODIntervalTree.h:
3287         (WebCore::PODIntervalTree::allOverlaps):
3288         (WebCore::PODIntervalTree::searchForOverlapsFrom):
3289         * platform/PODRedBlackTree.h:
3290         (WebCore::PODRedBlackTree::add):
3291         (WebCore::PODRedBlackTree::remove):
3292         (WebCore::PODRedBlackTree::contains):
3293         (WebCore::PODRedBlackTree::visitInorder):
3294         (WebCore::PODRedBlackTree::size):
3295         (WebCore::PODRedBlackTree::checkInvariants):
3296         (WebCore::PODRedBlackTree::dump):
3297         * rendering/RenderBlock.cpp:
3298         (WebCore::RenderBlock::styleDidChange):
3299         (WebCore::RenderBlock::addOverflowFromFloats):
3300         (WebCore::RenderBlock::repaintOverhangingFloats):
3301         (WebCore::RenderBlock::paintFloats):
3302         (WebCore::RenderBlock::selectionGaps):
3303         (WebCore::RenderBlock::insertFloatingObject):
3304         (WebCore::RenderBlock::removeFloatingObject):
3305         (WebCore::RenderBlock::removeFloatingObjectsBelow):
3306         (WebCore::RenderBlock::positionNewFloats):
3307         (WebCore::RenderBlock::logicalLeftOffsetForLine):
3308         (WebCore::RenderBlock::logicalRightOffsetForLine):
3309         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
3310         (WebCore::RenderBlock::lowestFloatLogicalBottom):
3311         (WebCore::RenderBlock::addPositionedFloats):
3312         (WebCore::RenderBlock::clearFloats):
3313         (WebCore::RenderBlock::addOverhangingFloats):
3314         (WebCore::RenderBlock::hasOverhangingFloat):
3315         (WebCore::RenderBlock::addIntrudingFloats):
3316         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
3317         (WebCore::RenderBlock::hitTestFloats):
3318         (WebCore::RenderBlock::adjustForBorderFit):
3319         (WebCore::RenderBlock::FloatingObjects::clear):
3320         * rendering/RenderBlock.h:
3321         (WebCore::RenderBlock::FloatingObject::FloatingObject):
3322         (WebCore::RenderBlock::FloatingObject::setX):
3323         (WebCore::RenderBlock::FloatingObject::setY):
3324         (WebCore::RenderBlock::FloatingObject::setWidth):
3325         (WebCore::RenderBlock::FloatingObject::setHeight):
3326         (WebCore::RenderBlock::FloatingObject::setFrameRect):
3327         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
3328         (WebCore::RenderBlock::FloatingObjects::set):
3329         * rendering/RenderBlockLineLayout.cpp:
3330         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
3331         (WebCore::RenderBlock::linkToEndLineIfNeeded):
3332         (WebCore::RenderBlock::matchedEndLine):
3333         (WebCore::RenderBlock::positionNewFloatOnLine):
3334
3335 2011-08-08  Emil A Eklund  <eae@chromium.org>
3336
3337         Rename absoluteQuadsForRange and InlineTextBox::selectionRect to local*
3338         https://bugs.webkit.org/show_bug.cgi?id=65722
3339
3340         Reviewed by Simon Fraser.
3341
3342         No new tests, no new functionality.
3343
3344         * rendering/InlineTextBox.cpp:
3345         (WebCore::InlineTextBox::localSelectionRect):
3346         Rename InlineTextBox::selectionRect to localSelectionRect to reflect that
3347         it, unlike RenderObject::selectionRect returns a rect in the local
3348         coordinate space.
3349
3350         * rendering/InlineTextBox.h:
3351         * rendering/RenderText.cpp:
3352         (WebCore::localQuadForTextBox):
3353         (WebCore::RenderText::absoluteRectsForRange):
3354         (WebCore::RenderText::absoluteQuadsForRange):
3355         (WebCore::RenderText::selectionRectForRepaint):
3356         Rename absoluteQuadForTextBox to localQuadForTextBox to reflect that it
3357         returns a quad in the local coordinate space.
3358         
3359         * rendering/svg/RenderSVGInlineText.cpp:
3360         (WebCore::RenderSVGInlineText::localCaretRect):
3361         * rendering/svg/SVGInlineTextBox.cpp:
3362         (WebCore::SVGInlineTextBox::localSelectionRect):
3363         * rendering/svg/SVGInlineTextBox.h:
3364
3365 2011-08-08  Jochen Eisinger  <jochen@chromium.org>
3366
3367         Use a raw pointer to the security origin in the ctor of FrameLoadRequest
3368         https://bugs.webkit.org/show_bug.cgi?id=65852
3369
3370         Reviewed by Alexey Proskuryakov.
3371
3372         * loader/FrameLoadRequest.h:
3373         (WebCore::FrameLoadRequest::FrameLoadRequest):
3374         * loader/FrameLoader.cpp:
3375         (WebCore::FrameLoader::changeLocation):
3376         * loader/FrameLoader.h:
3377         * loader/NavigationScheduler.cpp:
3378         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
3379         (WebCore::ScheduledURLNavigation::fire):
3380         (WebCore::ScheduledRedirect::ScheduledRedirect):
3381         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
3382         (WebCore::ScheduledRefresh::ScheduledRefresh):
3383         (WebCore::NavigationScheduler::scheduleLocationChange):
3384         * loader/NavigationScheduler.h:
3385
3386 2011-08-08  Ryosuke Niwa  <rniwa@webkit.org>
3387
3388         Remove redundant inline styles from the pasted contents more aggressively
3389         https://bugs.webkit.org/show_bug.cgi?id=65833
3390
3391         Reviewed by Tony Chang.
3392
3393         Make removeRedundantStylesAndKeepStyleSpanInline more aggressively remove redundant styles by realizing that
3394         when an editing inheritable property in an inline style declaration of an element can be safely removed
3395         if it is present either in style rules or in its ancestor and not overridden by style rules or default style
3396         of the element.
3397
3398         Test: editing/pasteboard/paste-with-redundant-style.html
3399
3400         * css/CSSStyleSelector.cpp:
3401         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Do not match author style sheets if AuthorCSSRules
3402         is not included in the rules to include. This is used in EditingStyle::removePropertiesInElementDefaultStyle.
3403         * editing/ApplyStyleCommand.cpp:
3404         (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute): Added; returns true if the element is a style span or
3405         span possibly with a style attribute.
3406         * editing/ApplyStyleCommand.h:
3407         * editing/EditingStyle.cpp:
3408         (WebCore::styleFromMatchedRulesForElement): Takes rulesToInclude.
3409         (WebCore::EditingStyle::mergeStyleFromRules): Calls styleFromMatchedRulesForElement with AuthorCSSRules
3410         | CrossOriginCSSRules to keep the original behavior.
3411         (WebCore::EditingStyle::removeStyleFromRulesAndContext): Renamed from removeStyleFromRules; removes styles that
3412         are present in context and not overridden by matched rules.
3413         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle): Added.
3414         * editing/EditingStyle.h:
3415         * editing/ReplaceSelectionCommand.cpp:
3416         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): See the description above.
3417
3418 2011-08-08  Dmitry Lomov  <dslomov@google.com>
3419
3420         https://bugs.webkit.org/show_bug.cgi?id=65778
3421         [WebWorkers][chromium] Make statics thread-safe and make sure V8 API accesses correct isolates.
3422
3423         Reviewed by David Levin.
3424
3425         Covered by existing tests.
3426
3427         * bindings/v8/V8Binding.h:
3428         (WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
3429         (WebCore::V8BindingPerIsolateData::hiddenPropertyName):
3430         (WebCore::V8BindingPerIsolateData::globalHandleMap):
3431         (WebCore::AllowAllocation::AllowAllocation): Moving to V8Binding.h from V8Utilities.h to resolve header dependency.
3432         (WebCore::AllowAllocation::~AllowAllocation):
3433         (WebCore::AllowAllocation::current):
3434         (WebCore::SafeAllocation::newInstance):
3435         * bindings/v8/V8GCController.cpp:
3436         (WebCore::currentGlobalHandleMap):
3437         (WebCore::enumerateGlobalHandles):
3438         (WebCore::V8GCController::registerGlobalHandle):
3439         (WebCore::V8GCController::unregisterGlobalHandle):
3440         * bindings/v8/V8HiddenPropertyName.cpp:
3441         (WebCore::V8HiddenPropertyName::createString):
3442         * bindings/v8/V8HiddenPropertyName.h:
3443         * bindings/v8/V8LazyEventListener.cpp:
3444         (WebCore::V8LazyEventListener::prepareListenerObject):
3445         * bindings/v8/V8NPObject.cpp:
3446         * bindings/v8/V8Proxy.cpp:
3447         (WebCore::V8Proxy::checkNewLegal):
3448         * bindings/v8/V8Utilities.h:
3449         * bindings/v8/WorkerContextExecutionProxy.cpp:
3450         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
3451         (WebCore::WorkerContextExecutionProxy::initIsolate):
3452         * bindings/v8/WorkerContextExecutionProxy.h:
3453         * bindings/v8/WorkerScriptController.cpp:
3454         (WebCore::WorkerScriptController::scheduleExecutionTermination):
3455
3456 2011-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3457
3458         Unreviewed, rolling out r92607.
3459         http://trac.webkit.org/changeset/92607
3460         https://bugs.webkit.org/show_bug.cgi?id=65865
3461
3462         This patch breaks Chromium Mac Canary (Requested by jianli on
3463         #webkit).
3464
3465         * platform/PlatformWheelEvent.h:
3466         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3467         * platform/chromium/ScrollAnimatorChromiumMac.mm:
3468         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
3469
3470 2011-08-08  Andrew Wason  <rectalogic@rectalogic.com>
3471
3472         [Qt] Implement WebGL antialiasing (part 3)
3473         https://bugs.webkit.org/show_bug.cgi?id=64879
3474
3475         Reviewed by Noam Rosenthal.
3476
3477         Existing WebGL layout tests cover this.
3478
3479         Implement WebGL antialiasing for Qt desktop.
3480         Existing code in GraphicsContext3DOpenGL.cpp manages the
3481         multisample FBO. GraphicsContext3DQt.cpp creates it and blits
3482         it to the regular FBO when painting.
3483         Requires adoption of Extensions3DOpenGL to be fully functional.
3484
3485         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3486         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
3487         (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
3488         (WebCore::GraphicsContext3DInternal::paint):
3489         (WebCore::GraphicsContext3DInternal::multisampleResolve):
3490         (WebCore::GraphicsContext3D::GraphicsContext3D):
3491         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3492
3493 2011-08-08  Anders Carlsson  <andersca@apple.com>
3494
3495         Fix build.
3496
3497         * platform/PODRedBlackTree.h:
3498         (WebCore::PODRedBlackTree::Counter::visit):
3499
3500 2011-08-08  Alexandru Chiculita  <achicu@adobe.com>
3501
3502         Optimize floating elements lookup
3503         https://bugs.webkit.org/show_bug.cgi?id=65668
3504
3505         Added an interval tree in the FloatingObjects structure. Also added new mechanisms to make
3506         sure the tree is updated correctly when a float is repositioned.
3507
3508         Changed the PODIntervalTree to support giving a search adapter that can be implemented by the
3509         client. I'm not adding a different bug for that because PODIntervalTree is not used anywhere else
3510         and would be hard to test that the change is not breaking anything.
3511
3512         Reviewed by David Hyatt.
3513
3514         No new tests, just a refactor on the floating objects data structure.
3515
3516         * WebCore.xcodeproj/project.pbxproj:
3517         * platform/PODIntervalTree.h:
3518         (WebCore::PODIntervalSearchAdapter::PODIntervalSearchAdapter):
3519         (WebCore::PODIntervalSearchAdapter::lowValue):
3520         (WebCore::PODIntervalSearchAdapter::highValue):
3521         (WebCore::PODIntervalSearchAdapter::collectIfNeeded):
3522         (WebCore::PODIntervalTree::PODIntervalTree):
3523         (WebCore::PODIntervalTree::allOverlaps):
3524         (WebCore::PODIntervalTree::allOverlapsWithAdapter):
3525         (WebCore::PODIntervalTree::searchForOverlapsFrom):
3526         * platform/PODRedBlackTree.h:
3527         (WebCore::PODRedBlackTree::PODRedBlackTree):
3528         (WebCore::PODRedBlackTree::clear):
3529         (WebCore::PODRedBlackTree::isInitialized):
3530         (WebCore::PODRedBlackTree::initIfNeeded):
3531         (WebCore::PODRedBlackTree::add):
3532         (WebCore::PODRedBlackTree::remove):
3533         (WebCore::PODRedBlackTree::contains):
3534         (WebCore::PODRedBlackTree::visitInorder):
3535         (WebCore::PODRedBlackTree::size):
3536         (WebCore::PODRedBlackTree::checkInvariants):
3537         (WebCore::PODRedBlackTree::dump):
3538         * rendering/RenderBlock.cpp:
3539         (WebCore::RenderBlock::styleDidChange):
3540         (WebCore::RenderBlock::addOverflowFromFloats):
3541         (WebCore::RenderBlock::repaintOverhangingFloats):
3542         (WebCore::RenderBlock::paintFloats):
3543         (WebCore::RenderBlock::selectionGaps):
3544         (WebCore::RenderBlock::insertFloatingObject):
3545         (WebCore::RenderBlock::removeFloatingObject):
3546         (WebCore::RenderBlock::removeFloatingObjectsBelow):
3547         (WebCore::RenderBlock::positionNewFloats):
3548         (WebCore::::collectIfNeeded):
3549         (WebCore::RenderBlock::logicalLeftOffsetForLine):
3550         (WebCore::RenderBlock::logicalRightOffsetForLine):
3551         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
3552         (WebCore::RenderBlock::lowestFloatLogicalBottom):
3553         (WebCore::RenderBlock::addPositionedFloats):
3554         (WebCore::RenderBlock::clearFloats):
3555         (WebCore::RenderBlock::addOverhangingFloats):
3556         (WebCore::RenderBlock::hasOverhangingFloat):
3557         (WebCore::RenderBlock::addIntrudingFloats):
3558         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
3559         (WebCore::RenderBlock::hitTestFloats):
3560         (WebCore::RenderBlock::adjustForBorderFit):
3561         (WebCore::RenderBlock::FloatingObjects::clear):
3562         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
3563         (WebCore::RenderBlock::FloatingObjects::addPlacedObject):
3564         (WebCore::RenderBlock::FloatingObjects::removePlacedObject):
3565         (WebCore::RenderBlock::FloatingObjects::add):
3566         (WebCore::RenderBlock::FloatingObjects::remove):
3567         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):
3568         (WebCore::::string):
3569         * rendering/RenderBlock.h:
3570         (WebCore::RenderBlock::FloatingObject::FloatingObject):
3571         (WebCore::RenderBlock::FloatingObject::setX):
3572         (WebCore::RenderBlock::FloatingObject::setY):
3573         (WebCore::RenderBlock::FloatingObject::setWidth):
3574         (WebCore::RenderBlock::FloatingObject::setHeight):
3575         (WebCore::RenderBlock::FloatingObject::setFrameRect):
3576         (WebCore::RenderBlock::FloatingObject::isInPlacedTree):
3577         (WebCore::RenderBlock::FloatingObject::setIsInPlacedTree):
3578         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
3579         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
3580         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
3581         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
3582         (WebCore::RenderBlock::FloatingObjects::setHorizontalWritingMode):
3583         (WebCore::RenderBlock::FloatingObjects::set):
3584         (WebCore::RenderBlock::FloatingObjects::placedFloatsTree):
3585         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTreeIfNeeded):
3586         * rendering/RenderBlockLineLayout.cpp:
3587         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
3588         (WebCore::RenderBlock::linkToEndLineIfNeeded):
3589         (WebCore::RenderBlock::matchedEndLine):
3590         (WebCore::RenderBlock::positionNewFloatOnLine):
3591
3592 2011-08-08  Alexei Svitkine  <asvitkine@chromium.org>
3593
3594         [Chromium] Enable rubber banding when scrolling.
3595
3596         https://bugs.webkit.org/show_bug.cgi?id=65707
3597
3598         Reviewed by Dimitri Glazkov.
3599
3600         No new tests since this is just syncing changes to chromium platform.
3601
3602         * platform/PlatformWheelEvent.h:
3603         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3604         * platform/chromium/ScrollAnimatorChromiumMac.mm:
3605         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
3606
3607 2011-08-08  Dan Bernstein  <mitz@apple.com>
3608
3609         Build fix.
3610
3611         * html/NumberInputType.cpp:
3612         (WebCore::NumberInputType::sizeShouldIncludeDecoration): Fixed an obvious typo.
3613
3614 2011-08-08  Andras Becsi  <abecsi@webkit.org>
3615
3616         [Qt] Clean up project file after r92492.
3617
3618         Unreviewed gardening.
3619
3620         No new tests needed.
3621
3622         * WebCore.pro: remove nonexistent PluginHalterClient.h, PluginHalter.h, HaltablePlugin.h.
3623
3624 2011-08-08  Pavel Podivilov  <podivilov@chromium.org>
3625
3626         Web Inspector: refactor links creation.
3627         https://bugs.webkit.org/show_bug.cgi?id=65612
3628
3629         Reviewed by Pavel Feldman.
3630
3631         No new tests - it is refactoring, modified code covered by script-formatter.html test.
3632
3633         * inspector/front-end/ConsoleView.js:
3634         (WebInspector.ConsoleMessage.prototype._formatMessage):
3635         (WebInspector.ConsoleMessage.prototype._linkifyLocation):
3636         (WebInspector.ConsoleMessage.prototype._linkifyCallFrame):
3637         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
3638         * inspector/front-end/DebuggerPresentationModel.js:
3639         (WebInspector.DebuggerPresentationModel):
3640         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
3641         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
3642         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor.didGetLocation):
3643         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
3644         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
3645         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
3646         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
3647         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
3648         * inspector/front-end/EventListenersSidebarPane.js:
3649         * inspector/front-end/NetworkPanel.js:
3650         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
3651         * inspector/front-end/Panel.js:
3652         * inspector/front-end/ProfileDataGridTree.js:
3653         (WebInspector.ProfileDataGridNode.prototype.createCell):
3654         * inspector/front-end/ScriptsPanel.js:
3655         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
3656         * inspector/front-end/StylesSidebarPane.js:
3657         (WebInspector.StylePropertiesSection.linkifyUncopyable):
3658         (WebInspector.StylePropertiesSection):
3659         * inspector/front-end/TimelinePanel.js:
3660         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
3661         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation):
3662         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame):
3663         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
3664         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
3665         * inspector/front-end/inspector.js:
3666         (WebInspector._showSettingsScreen):
3667         (WebInspector.formatLinkText):
3668         (WebInspector.linkifyResourceAsNode):
3669
3670 2011-08-08  Andrew Wason  <rectalogic@rectalogic.com>
3671
3672         [Qt] Implement WebGL antialiasing (part 3)
3673         https://bugs.webkit.org/show_bug.cgi?id=64879
3674
3675         Reviewed by Noam Rosenthal.
3676
3677         Existing WebGL layout tests.
3678
3679         Adopt Extensions3DOpenGL for Qt desktop as a prerequisite
3680         for implementing WebGL antialiasing.
3681         Extensions3DQt is still used for ES2.
3682
3683         * WebCore.pri:
3684         * WebCore.pro:
3685         * platform/graphics/GraphicsContext3D.h:
3686         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3687         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
3688         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
3689         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
3690         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
3691         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3692         (WebCore::GraphicsContext3D::getExtensions):
3693         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3694         (WebCore::GraphicsContext3D::layerComposited):
3695
3696 2011-08-08  Benjamin Poulain  <benjamin@webkit.org>
3697
3698         Build fix after r92589, defaultSize is not used.
3699         
3700         Reviewed by Andreas Kling.
3701
3702         * html/InputType.cpp:
3703         (WebCore::InputType::sizeShouldIncludeDecoration):
3704
3705 2011-08-08  Keishi Hattori  <keishi@webkit.org>
3706
3707         Implement <input type=color> UI behavior WebCore part
3708         https://bugs.webkit.org/show_bug.cgi?id=62619
3709
3710         Reviewed by Kent Tamura.
3711
3712         * WebCore.exp.in: Added __ZN7WebCore12ColorChooser7chooserEv and
3713         __ZNK7WebCore12ColorChooser13colorSelectedERKNS_5ColorE
3714         * WebCore.xcodeproj/project.pbxproj: Added ColorChooser.{h,cpp}
3715         * html/ColorInputType.cpp:
3716         (WebCore::ColorInputType::~ColorInputType): Added. Close color chooser. ex. when type attribute changes.
3717         (WebCore::ColorInputType::valueAsColor): Added.
3718         (WebCore::ColorInputType::setValueAsColor): Added.
3719         (WebCore::ColorInputType::valueChanged): Update selected color in color chooser too.
3720         (WebCore::ColorInputType::handleClickEvent): Opens color chooser.
3721         (WebCore::ColorInputType::handleDOMActivateEvent): Called when element.click(). Open color chooser only
3722         when it was initiated by a user interaction.
3723         (WebCore::ColorInputType::detach): Close color chooser. Called when input element or its ancestors have "display:none"
3724         or is removed from DOM.
3725         (WebCore::ColorInputType::colorSelected): Callback from color chooser.
3726         (WebCore::ColorInputType::isColorInputType): Returns true.
3727         (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Close color chooser if this input type is the current client of ColorChooser.
3728         * html/ColorInputType.h:
3729         * html/FileInputType.cpp:
3730         * html/FileInputType.h:
3731         * html/HTMLInputElement.cpp:
3732         (WebCore::HTMLInputElement::detach): Calls InputType::detach
3733         * html/InputType.cpp:
3734         (WebCore::InputType::chrome): Added. Used in FileInputType and ColorInputType.
3735         (WebCore::InputType::detach): ColorInputType overrides this.
3736         * html/InputType.h:
3737         * loader/EmptyClients.h:
3738         (WebCore::EmptyChromeClient::openColorChooser):
3739         (WebCore::EmptyChromeClient::closeColorChooser):
3740         (WebCore::EmptyChromeClient::setSelectedColorInColorChooser):
3741         * loader/FrameLoader.cpp:
3742         (WebCore::FrameLoader::transitionToCommitted): Close color chooser when navigating away from the page. We do this here
3743         because ColorInputType::detach() is called seconds after the page transition so it is too slow.
3744         * page/Chrome.cpp:
3745         (WebCore::Chrome::openColorChooser): Added.
3746         (WebCore::Chrome::closeColorChooser): Added.
3747         (WebCore::Chrome::setSelectedColorInColorChooser): Added.
3748         * page/Chrome.h:
3749         * page/ChromeClient.h:
3750         * platform/ColorChooser.cpp: Added.
3751         (WebCore::ColorChooserClient::~ColorChooserClient): Disconnects itself from the ColorChooser.
3752         (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
3753         (WebCore::ColorChooser::connectClient): Connects a ColorChooserClient that receives the colorSelected callbacks.
3754         (WebCore::ColorChooser::disconnectClient): Disconnects the connectClient.
3755         (WebCore::ColorChooser::colorSelected): Called from color chooser listener.
3756         * platform/ColorChooser.h: Added.
3757         (WebCore::ColorChooserClient::isColorInputType): Added.
3758         (WebCore::ColorChooser::client): Added. Returns the current connected client.
3759         (WebCore::ColorChooser::ColorChooser): Added.
3760
3761 2011-08-08  Shinya Kawanaka  <shinyak@google.com>
3762
3763         The input[type=number] element should be as wide as necessary to show the widest possible value.
3764         https://bugs.webkit.org/show_bug.cgi?id=60673
3765
3766         Reviewed by Kent Tamura.
3767
3768         The size of input[type=number] is calculated from min/max/step attributes to show the widest possible value.
3769         If min or max attribute is absent, the default size is used.
3770         Also, if its css width is not auto, the width is used with priority.
3771
3772         If min/max/attribute is set dynamically, the size of the input[type=number] will be recalculated.
3773
3774         Test: fast/forms/input-number-size.html
3775
3776         * html/HTMLInputElement.cpp:
3777         (WebCore::HTMLInputElement::parseMappedAttribute):
3778            Added stepAttributeChanged handler.
3779         (WebCore::HTMLInputElement::sizeShouldIncludeDecoration):
3780            Returns true if a renderer should include decoration (e.g. inner spinbox).
3781            Also returns the preferred size of the input.
3782         * html/HTMLInputElement.h:
3783         * html/InputType.cpp:
3784         (WebCore::InputType::sizeShouldIncludeDecoration):
3785            Same as WebCore::HTMLInputElement::sizeShouldIncludeDecoration.
3786         (WebCore::InputType::stepAttributeChanged):
3787            Will be called When step attribute is changed.
3788            Sets a flag to recalculate layout.
3789         * html/InputType.h:
3790         * html/NumberInputType.cpp:
3791         (WebCore::lengthBeforeDecimalPoint):
3792            Calculates the width before the decimal point.
3793         (WebCore::NumberInputType::sizeShouldIncludeDecoration):
3794            Same as WebCore::HTMLInputElement::sizeShouldIncludeDecoration.
3795            However, this will calculate the preferred size from min/max/step attribute.
3796         (WebCore::NumberInputType::minOrMaxAttributeChanged):
3797            Sets a flag to recalculate layout.
3798         (WebCore::NumberInputType::stepAttributeChanged): ditto.
3799         * html/NumberInputType.h:
3800         * rendering/RenderTextControlSingleLine.cpp:
3801         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
3802            Uses preferredSize instead of size.
3803            Also, adds innerSpinButtonElement size to width if sizeShouldIncludeDecoration returns true.
3804
3805 2011-08-08  Kenichi Ishibashi  <bashi@chromium.org>
3806
3807         Should not use C-style cast in CSSParser.cpp
3808         https://bugs.webkit.org/show_bug.cgi?id=65807
3809
3810         Remove C-style cast.
3811
3812         Reviewed by Kent Tamura.
3813
3814         No new tests because no behavior change.
3815
3816         * css/CSSParser.cpp:
3817         (WebCore::CSSParser::parseAnimationTimingFunction): Replaced a cast with clampToInteger().
3818         (WebCore::CSSParser::parseFontFeatureTag): Ditto.
3819         (WebCore::CSSParser::createKeyframeRule): Replaced a cast with C++-style cast.
3820
3821 2011-08-05  Pavel Feldman  <pfeldman@chromium.org>
3822
3823         Web Inspector: implement dock/undock in WebKit2 without getting into WebCore.
3824         https://bugs.webkit.org/show_bug.cgi?id=65763
3825
3826         InspectorFrontendClient.h can't have synchronous canAttachWindow() returning value
3827         since in the multiprocess environment, you can't immediately get back to it from the host.
3828
3829         r92384 introduced an unhealthy WebKit -> WebCore -> WebKit canAttach query where embedder
3830         was asking itself a question. This loop was fixed.
3831
3832         Reviewed by Yury Semikhatsky.
3833
3834         * WebCore.exp.in:
3835         * inspector/InspectorController.cpp:
3836         * inspector/InspectorController.h:
3837         * inspector/InspectorFrontendClient.h:
3838         * inspector/InspectorFrontendClientLocal.h:
3839         * inspector/front-end/inspector.js:
3840         (windowLoaded):
3841
3842 2011-07-28  Kent Tamura  <tkent@chromium.org>
3843
3844         [Chromium] Make form validation bubble fit with Chrome UI style
3845         https://bugs.webkit.org/show_bug.cgi?id=65359
3846
3847         Reviewed by Hajime Morita.
3848
3849         Change the appearance of validation message bubble for
3850         Chromium. Basically it doesn't change for other ports.
3851
3852         - Introduce a new element to put an icon, and enclose it and the
3853         message text by a flexible box.
3854         - Repesent the message text by two elements. One for the heading,
3855         another for the remaining.
3856
3857         - Introduce themeChromium.css
3858
3859         * WebCore.gyp/WebCore.gyp: Add themeChromium.css.
3860         * css/html.css:
3861         (::-webkit-validation-bubble-message): Make this a flexible box container.
3862         (::-webkit-validation-bubble-text-block): Takes flexibility.
3863         (::-webkit-validation-bubble-heading):
3864         Make the content bold because we removed <b></b>.
3865         * css/themeChromium.css: Added.
3866         (::-webkit-validation-bubble):
3867         (::-webkit-validation-bubble-message):
3868         (::-webkit-validation-bubble-arrow):
3869         (::-webkit-validation-bubble-arrow-clipper):
3870         (::-webkit-validation-bubble-icon):
3871         (::-webkit-validation-bubble-heading):
3872         (::-webkit-validation-bubble-body):
3873         * html/ValidationMessage.cpp:
3874         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
3875         Sets the text into m_messageHeading and m_messageBody, instead of m_bubbleMessage.
3876         Use ASSERT_NO_EXCEPTION.
3877         (WebCore::ValidationMessage::buildBubbleTree):
3878         Build the new structure, and use ASSERT_NO_EXCEPTION.
3879         (WebCore::ValidationMessage::deleteBubbleTree):
3880         Clear m_messageHeading and m_messageBody.
3881         * html/ValidationMessage.h:
3882         * rendering/RenderThemeChromiumMac.h: Add extraDefaultStyleSheet().
3883         * rendering/RenderThemeChromiumMac.mm:
3884         (WebCore::RenderThemeChromiumMac::extraDefaultStyleSheet): Append themeChromium.css.
3885         * rendering/RenderThemeChromiumSkia.cpp:
3886         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): Append themeChromium.css.
3887
3888 2011-08-07  Keishi Hattori  <keishi@webkit.org>
3889
3890         Sort WebCore.xcodeproj
3891         Accomplished using sort-Xcode-project-file.
3892
3893         * WebCore.xcodeproj/project.pbxproj:
3894
3895 2011-08-07  James Kozianski  <koz@chromium.org>
3896
3897         Make the fullscreen JS API enabled at runtime.
3898         https://bugs.webkit.org/show_bug.cgi?id=65501
3899
3900         Reviewed by Adam Barth.
3901
3902         * bindings/generic/RuntimeEnabledFeatures.cpp:
3903         * bindings/generic/RuntimeEnabledFeatures.h:
3904         (WebCore::RuntimeEnabledFeatures::webkitFullScreenAPIEnabled):
3905         (WebCore::RuntimeEnabledFeatures::setWebkitFullScreenAPIEnabled):
3906         (WebCore::RuntimeEnabledFeatures::webkitRequestFullScreenEnabled):
3907         (WebCore::RuntimeEnabledFeatures::webkitIsFullScreenEnabled):
3908         (WebCore::RuntimeEnabledFeatures::webkitFullScreenKeyboardInputAllowedEnabled):
3909         (WebCore::RuntimeEnabledFeatures::webkitCurrentFullScreenElementEnabled):
3910         (WebCore::RuntimeEnabledFeatures::webkitCancelFullScreenEnabled):
3911         * dom/Document.idl:
3912         * dom/Element.idl:
3913
3914 2011-08-07  Martin Robinson  <mrobinson@igalia.com>
3915
3916         Distribution fix for GTK+.
3917
3918         * GNUmakefile.am: Add some files to the distribution list.
3919         * GNUmakefile.list.am: Strip removed files from the source list.
3920
3921 2011-08-07  Jochen Eisinger  <jochen@chromium.org>
3922
3923         Move FrameLoadRequest to loader/
3924         https://bugs.webkit.org/show_bug.cgi?id=65817
3925
3926         Reviewed by Alexey Proskuryakov.
3927
3928         * GNUmakefile.list.am:
3929         * WebCore.gypi:
3930         * WebCore.vcproj/WebCore.vcproj:
3931         * WebCore.xcodeproj/project.pbxproj:
3932         * loader/FrameLoadRequest.h:
3933         (WebCore::FrameLoadRequest::FrameLoadRequest):
3934         (WebCore::FrameLoadRequest::isEmpty):
3935         (WebCore::FrameLoadRequest::requester):
3936         (WebCore::FrameLoadRequest::resourceRequest):
3937         (WebCore::FrameLoadRequest::frameName):
3938         (WebCore::FrameLoadRequest::setFrameName):
3939
3940 2011-08-07  Sam White  <samuel.white@rochester.edu>
3941
3942         Add the ability to search the AccessibilityObject cache
3943         https://bugs.webkit.org/show_bug.cgi?id=64994
3944         
3945         New AccessibilityObject cache search functionality and API for the mac
3946         platform to expose it. At this point the AccessibilityObject cache can
3947         be searched using one of the supported search keys that have been defined
3948         in AccessibilityObject.h, or by passing search text.
3949
3950         Reviewed by Chris Fleizach.
3951
3952         Test: platform/mac/accessibility/search-predicate.html
3953
3954         * accessibility/AccessibilityObject.cpp:
3955         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
3956         (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
3957         (WebCore::AccessibilityObject::accessibilityObjectContainsText):
3958         (WebCore::AccessibilityObject::accessibleObjectsWithAccessibilitySearchPredicate):
3959         * accessibility/AccessibilityObject.h:
3960         * accessibility/mac/AccessibilityObjectWrapper.mm:
3961         (createAccessibilitySearchKeyMap):
3962         (accessibilitySearchKeyForString):
3963         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
3964         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3965
3966 2011-08-06  Mark Rowe  <mrowe@apple.com>
3967
3968         Fix a memory leak found via code inspection.
3969
3970         Rubber-stamped by Dan Bernstein.
3971
3972         * platform/mac/PasteboardMac.mm:
3973         (WebCore::Pasteboard::writeSelection): Adopt the newly-allocated WebHTMLConverter
3974         instance so that it does not leak.
3975
3976 2011-08-05  Darin Adler  <darin@apple.com>
3977
3978         Fix Timer heap implementation to work with more libraries (other versions of STL)
3979         https://bugs.webkit.org/show_bug.cgi?id=65782
3980
3981         Reviewed by Anders Carlsson.
3982
3983         No behavior change, so no tests needed. Existing tests pass.
3984
3985         * platform/Timer.cpp: Added TimerHeapPointer and TimerHeapReference class
3986         alongside the TimerHeapIterator class. Also added a swap function. Also
3987         added a TimerHeapLessThanFunction class.
3988         (WebCore::TimerBase::heapDecreaseKey): Pass pointers in to the TimerHeapIterator
3989         since that's how the class works now. Pass a TimerHeapLessThanFunction object
3990         instead of letting the library use the < operator directly.
3991         (WebCore::TimerBase::heapPopMin): Ditto.
3992
3993         * platform/Timer.h: Updated for above changes.
3994
3995 2011-08-06  Aron Rosenberg  <arosenberg@logitech.com>
3996
3997         Reviewed by Benjamin Poulain.
3998
3999         [Qt] Fix build with Intel compiler on Windows
4000         https://bugs.webkit.org/show_bug.cgi?id=65088
4001
4002         Intel compiler needs .lib suffixes instead of .a
4003
4004         * WebCore.pri:
4005
4006 2011-08-06  Dan Bernstein  <mitz@apple.com>
4007
4008         Move the shared LineBreakIteratorPool from ThreadGlobalData into its own ThreadSpecific
4009         https://bugs.webkit.org/show_bug.cgi?id=65809
4010
4011         Reviewed by Darin Adler and Sam Weinig.
4012
4013         * platform/ThreadGlobalData.cpp:
4014         (WebCore::ThreadGlobalData::destroy): Removed code to clear the m_lineBreakIteratorPool member
4015         variable, which was removed.
4016         * platform/ThreadGlobalData.h: Removed lineBreakIteratorPool() and associated member variable.
4017         * platform/text/LineBreakIteratorPoolICU.h:
4018         (WebCore::LineBreakIteratorPool::sharedPool): Changed to return a thread-specific pool.
4019
4020 2011-08-06  Joseph Pecoraro  <joepeck@webkit.org>
4021
4022         Potential Leaks - RetainPtr<> over retaining Create'd objects
4023         https://bugs.webkit.org/show_bug.cgi?id=65806
4024
4025         Reviewed by Darin Adler.
4026
4027         Fix a possible leak by adopting an allocation instead of retaining it.
4028
4029         * platform/network/mac/NetworkStateNotifierMac.cpp:
4030         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
4031         * plugins/mac/PluginPackageMac.cpp:
4032         (WebCore::stringListFromResourceId):
4033         (WebCore::PluginPackage::fetchInfo):
4034
4035 2011-08-06  Rafael Brandao  <rafael.lobo@openbossa.org>
4036
4037         REGRESSION (r91540): Favicons are not loaded
4038         https://bugs.webkit.org/show_bug.cgi?id=65692
4039
4040         Reviewed by Darin Adler.
4041
4042         The policy that evaluates whether a page can have icon or not should not
4043         need to be reimplemented each time a new IconDatabaseBase is derived,
4044         so it was moved to WebCore's scope.
4045
4046         * loader/icon/IconController.cpp:
4047         (WebCore::IconController::startLoader):
4048         * loader/icon/IconDatabase.cpp:
4049         * loader/icon/IconDatabase.h:
4050         * loader/icon/IconDatabaseBase.cpp:
4051         (WebCore::documentCanHaveIcon):
4052         * loader/icon/IconDatabaseBase.h:
4053
4054 2011-08-06  Kenichi Ishibashi  <bashi@chromium.org>
4055
4056         Should use C++-style cast in CSSParser.cpp
4057         https://bugs.webkit.org/show_bug.cgi?id=65807
4058
4059         Replaces C-style cast with C++style cast.
4060
4061         Reviewed by Shinichiro Hamaji.
4062
4063         No new tests because no behavior change.
4064
4065         * css/CSSParser.cpp:
4066         (WebCore::CSSParser::parseAnimationTimingFunction):
4067         (WebCore::CSSParser::parseFont):
4068         (WebCore::CSSParser::parseColorFromValue):
4069         (WebCore::CSSParser::parseFontFeatureTag):
4070
4071 2011-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
4072
4073         REGRESSION(87526): ASSERT(!needsLayout()) followed by graphical glitches on google charts (svg loaded in iframe)
4074         https://bugs.webkit.org/show_bug.cgi?id=64974
4075
4076         svg/zoom/page/zoom-svg-through-object-with-*.xhtml are flaky
4077         https://bugs.webkit.org/show_bug.cgi?id=63186
4078
4079         Reviewed by Zoltan Herczeg.
4080
4081         Fix host <-> embedded document size negotiation race. The currently implemented solution relied on a specific
4082         order of paint/layout calls, which is broken. Consider rendering a document containing an object/iframe/embed
4083         referencing an external SVG file. When FrameView::layout() is called (associated with the outermost RenderView
4084         of the host document), it lays out the whole document, and afterwards performPostLayoutTasks() is called.
4085         This method then asks the Frames contentRenderer to update its widget positions. This triggers a call
4086         of the